主键位于any关系数据库不允许为 NULL - 这是主键的主要基本特征之一。
See: SQL 设计:如何选择主键 http://www.sqlmag.com/article/systems-administrator/sql-by-design-how-to-choose-a-primary-key.aspx
永不为空
主键值不能为空,也不能做任何事情
使主键为空。这是
不可违反的关系规则
ANSI 支持的模型, 的
关系数据库管理系统
(RDBMS) 设计和 SQL Server。
UPDATE:好的,所以您需要在 SQL Server 中使用“自动增量”主键。
您需要在 CREATE TABLE 语句中将其定义为 INT IDENTITY:
CREATE TABLE dbo.YourTable(ID INT IDENTITY, col1 INT, ..., colN INT)
然后,当您执行 INSERT 时,您需要显式指定要插入的列,但不要在该列表中指定“ID”列 - 然后 SQL Server 将自动查找正确的值:
INSERT INTO dbo.YourTable(col1, col2, ..., colN) -- anything **except** `ID`
VALUES(va1l, val2, ..., valN)
如果您想在创建表后执行此操作,可以在 SQL Server Management Studio 的表设计器中执行此操作: