參考於: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。)