Пожалуйста, скопируйте и вставьте дословно
SET NOCOUNT ON;
USE tempdb;
CREATE TABLE dbo.[table] (
[column1] int IDENTITY NOT NULL,
[column2] int NULL,
[column3] int NULL,
PRIMARY KEY CLUSTERED ([column1])
);
INSERT INTO dbo.[table] (column2,column3) VALUES (1,1);
SELECT scope_identity();
SELECT * FROM dbo.[table]
Вы должны получить
---------------------------------------
1
column1 column2 column3
----------- ----------- -----------
1 1 1
Если есть сомнения, всегда примеряйте новую чистую таблицу в базе данных tempdb.
Другие примечания:
- Если вы запускаете вставку из ASP.Net, проверьте, есть ли у вас пустые элементы CSS (ссылка на фоновое изображение), это вызывает второй запрос на ту же страницу
- Если вы используете простую INSERT в SSMS или аналогичном инструменте, проверьте наличие триггеров
Чтобы найти триггеры для таблицы, используя TSQL
select name, OBJECT_NAME(parent_object_id)
from sys.objects
where type='TR'
and OBJECT_NAME(parent_object_id) = 'table' -- or whatever the table name is
Для просмотра текста триггера (или любого модуля) с помощью TSQL
select definition
from sys.sql_modules
where object_id = object_id('tg_table') -- or whatever the trigger is named