【发布时间】:2017-01-20 05:56:45
【问题描述】:
我收到插入错误:
无法将值 NULL 插入列“id”、表“db.dbo.table”; 列不允许空值。插入失败
.
我检查了数据,我插入到“id”的列没有任何空值。 有什么建议吗?
【问题讨论】:
-
请提供 SQL 风格、表架构(定义)和插入语句。
标签: sql
我收到插入错误:
无法将值 NULL 插入列“id”、表“db.dbo.table”; 列不允许空值。插入失败
.
我检查了数据,我插入到“id”的列没有任何空值。 有什么建议吗?
【问题讨论】:
标签: sql
错误
列不允许空值
正在发生,因为您正在尝试插入具有NULL 列id 的数据,至少要插入一条记录。它与您尝试插入之前 列的状态无关。检查插入数据的来源并删除/替换 NULL 值,或更改 id 列以接受 NULL。
【讨论】:
NULL。
column_id_to_insert = NULL 然后什么都没有出现
=运算符比较NULL,需要使用IS NULL,所以请改用column_id_to_insert IS NULL。
INSERT 有关)
查看您的 SQL 表设计时,将“列属性”滚动到“标识规范”。在该下拉列表中,将“(是身份)”更改为是。此设置告诉表格自动增加 ID 字段。
【讨论】:
Null 不是一个特定的值,而是表明您不知道该字段的值。这意味着,“价值未知”。如果该字段不可为 NULL(即,如果“UNKNOWN”是不允许的),则 INSERT 将不被允许。对于 ID 列尤其如此,它可能是 INDEXed —— 甚至可能是表的 PRIMARY KEY。有些数据库根本不允许在 INDEX(尤其是主索引)中使用 NULL。
【讨论】: