参考于:https://jingyan.baidu.com/article/fec4bce244f902f2608d8b7a.html
使用SQL Server 2014 数据库做web的项目出现错误提示: :不能将值 NULL 插入列 'id',表 'likuiDb.dbo.User';列不允许有空值。INSERT 失败。
错误原因:
在SQL Server 2005中建立User时没有将UserID标识列设置为"UserID",默认的是空。
解决办法:
如下图 将其UserID的标识列设置为"UserID"
将表中的ID设为自增
sql server建表时怎么设置ID字段自增,以sql server2012为例介绍。
方法/步骤
-
打开要设置的数据库表,点击要设置的字段,比如id,这时下方会出现id的列属性表
-
列属性中,通过设置“标识规范”的属性可以设置字段自增,从下图上看,“是标识”的值是否,说明id还不是自增字段
-
能够设置ID字段自增的字段必须是可自增的,比如int,bigint类型,而varchar类型是不可自增的。比如查看name的列属性时,可以看到“是标识”是否且不可更改。
-
点击“标识规范”,展开后,点击“是标识”会出现下拉列表按钮,可以双击设置也可以从下拉列表选择。
-
设置“是标识”的值是“是”之后,可以看到下面的属性会默认写上值
-
可以设置标识增量和标识种子。标识增量是字段每次自动增加的值,比如1,则字段每次增加1;标识种子是字段的初始值,比如1,则第一条记录的该字段值是1
-
设置完成后,别忘记点击“保存”
END
注意事项
- 设置自增字段时要注意字段的类型,不是所有字段类型都可以设置自增的。
- 当设置了id自增时,即使插数据时传入id,或者不传id。插入数据的id也不会受外来id的影响,而是在数据库中的原有数据的id值上自增。(比如:数据库中的最后一条数据的id为8,当你插入数据时传递的id为5,插入后的数据id为9,同样假如当你插入数据的id为20,插入后的数据id依然为9。)