SQL вставляет значение по умолчанию

SQL Server 2000

Скажите, есть ли у меня таблица как

CREATE TABLE [Message] (
    [MessageIdx] [int] IDENTITY (1, 1) NOT NULL ,
    [Message] [varchar] (1024) COLLATE Latin1_General_CI_AS NOT NULL ,
    [column1] ... ,
    [column2] ... ,
    ... ,
    [ValidUntil] [datetime] NULL ,
    CONSTRAINT [PK_Message] PRIMARY KEY  CLUSTERED 
    (
        [MessageIdx]
    ) WITH  FILLFACTOR = 90  ON [PRIMARY] 
) ON [PRIMARY]
GO

С тех пор существует слишком много столбцов, таким образом, я пытаюсь вставить значение без, указывают имена столбцов явно. Я хочу вставить новую строку со всеми столбцами кроме 'MessageIdx' и 'ValidUntil', не указанного. Поэтому я определенно не хочу вводить все имена столбцов. Я попробовал ниже оператора, но он вызывает ошибку. Как я могу сделать это?Спасибо.

insert into message values (DEFAULT,'blah',something, ..., DEFAULT);

Править: AFAIN, сервер SQL 2005 можно пропустить столбец идентификационных данных при вставке. Таким образом, это будет

insert into message values ('blah',something, ..., DEFAULT);

Но есть ли какая-либо работа вокруг для SQL-сервера 2000?

1
задан Stan 27 May 2010 в 19:36
поделиться

3 ответа

вы должны указать имена столбцов, если вы используете set identity_insert

, но вы можете сделать это

set identity_insert caconfig..fxmessage on;
insert into message (MessageIdx,[Message],[ValidUntil) 
values (1,'blah',GETDATE());
set identity_insert caconfig..fxmessage off;

Я предполагаю, что вам действительно нужно это, он сгенерирует для вас значение идентификатора

 insert into message ([Message],[ValidUntil) values ('blah',GETDATE());
1
ответ дан 3 September 2019 в 00:16
поделиться

Используйте getdate(), а для столбцов IDENTITY (если вы используете uniqueidentifier, чего, как я вижу, вы не делаете), вы можете использовать newid(), и установить их в design-view таблицы в значение по умолчанию. После этого вы просто сделаете следующее:

INSERT INTO Message (Message) VALUES ('blah');

0
ответ дан 3 September 2019 в 00:16
поделиться

Не ленитесь. Сделайте это правильным способом, то есть укажите список столбцов (исключая столбец идентификации).

1
ответ дан 3 September 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: