如果我不希望在仅包含具有自动生成ID的一列的表中插入行,我的SQL语句(MS-SQL)应该如何显示?
以下两个查询将不起作用:
INSERT INTO MyTable (MyTableId) VALUES (Null)
-- or simply
INSERT INTO MyTable
Thx的任何小费。
sl3dg3
最佳答案
INSERT INTO MyTable (MyTableId) VALUES (Null)
隐式尝试在身份列中插入null,因此将无法正常工作,因为身份列可能永远不会为空,并且如果没有SET选项,则无论如何都无法插入任意值,而是可以使用:
INSERT INTO MyTable DEFAULT VALUES