您可以使按 Id 插入可选吗?
Can you make inserting by Id optional?
我希望能够在我的 table 中以特定 ID 插入一些东西,所以我为 table 打开了 IDENTITY_INSERT。但是,如果我只是想让自增来处理ID,就会出现这个错误:
"Explicit value must be specified for identity column in table
'TsiList' either when IDENTITY_INSERT is set to ON or when a
replication user is inserting into a NOT FOR REPLICATION identity
column."
有没有办法进行查询
INSERT INTO table (ID, something_else) VALUES (15, 'foo');
和
INSERT INTO table (something_else) VALUES ('foo');
同时工作?
如果不根据需要在每个查询 运行 之间打开和关闭 identity_insert
,您将无法做到这一点。
只有当 identity_insert
设置为执行查询的会话中的相关值时,每个版本才有效。
例如:
SET IDENTITY_INSERT TsiList ON;
INSERT INTO TsiList (ID, something_else) VALUES (15, 'foo');
SET IDENTITY_INSERT TsiList OFF;
INSERT INTO TsiList (something_else) VALUES ('foo');
我希望能够在我的 table 中以特定 ID 插入一些东西,所以我为 table 打开了 IDENTITY_INSERT。但是,如果我只是想让自增来处理ID,就会出现这个错误:
"Explicit value must be specified for identity column in table 'TsiList' either when IDENTITY_INSERT is set to ON or when a replication user is inserting into a NOT FOR REPLICATION identity column."
有没有办法进行查询
INSERT INTO table (ID, something_else) VALUES (15, 'foo');
和
INSERT INTO table (something_else) VALUES ('foo');
同时工作?
如果不根据需要在每个查询 运行 之间打开和关闭 identity_insert
,您将无法做到这一点。
只有当 identity_insert
设置为执行查询的会话中的相关值时,每个版本才有效。
例如:
SET IDENTITY_INSERT TsiList ON;
INSERT INTO TsiList (ID, something_else) VALUES (15, 'foo');
SET IDENTITY_INSERT TsiList OFF;
INSERT INTO TsiList (something_else) VALUES ('foo');