Sql 无法将值NULL插入列';id';,表';XXX';;列不允许空值。插入失败

Sql 无法将值NULL插入列';id';,表';XXX';;列不允许空值。插入失败,sql,Sql,我收到一个插入错误: 无法将值NULL插入列“id”,表“db.dbo.table”; 列不允许空值。插入失败 我已经检查了数据,并且插入到“id”中的列没有任何空值。 有什么建议吗?错误 列不允许空值 发生这种情况的原因是,您正在尝试为列id插入至少一条记录的NULL数据。它与尝试插入之前列的状态无关。检查插入数据的来源,删除/替换NULL值,或更改id列以接受NULLNULL不是特定值,而是表示您不知道此字段的值。它的意思是“价值未知”。如果字段不可为空(即,如果不允许“未知”),则不允许

我收到一个插入错误:

无法将值NULL插入列“id”,表“db.dbo.table”; 列不允许空值。插入失败

我已经检查了数据,并且插入到“id”中的列没有任何空值。 有什么建议吗?

错误

列不允许空值


发生这种情况的原因是,您正在尝试为列
id
插入至少一条记录的
NULL
数据。它与尝试插入之前列的状态无关。检查插入数据的来源,删除/替换
NULL
值,或更改
id
列以接受
NULL
NULL不是特定值,而是表示您不知道此字段的值。它的意思是“价值未知”。如果字段不可为空(即,如果不允许“未知”),则不允许插入。对于ID列尤其如此,它可能被索引,甚至可能是表的主键。有些数据库根本不允许索引(特别是主索引)中出现空值。

查看SQL表设计时,请在“列属性”中滚动到“标识规范”。在该下拉列表中,将“(Is Identity)”更改为Yes。此设置告诉表自动递增ID字段。

我检查了数据,没有一条记录与我匹配的列具有空值。。。我无法更改id列您使用的是什么版本的SQL和/或语言?插入的数据中必须有一个
NULL
。我发现了一些NULL,但当我执行
列\u id\u to \u insert=NULL
时,没有任何结果。您不能使用
=
运算符比较
NULL
,您需要使用
IS NULL
,因此,请改用
列\u id\u\u插入值为NULL
。@Peterson:如果要插入的行包含空值,则不能使用select进行检查。select仅查看现有行,但您要插入的行尚不存在(您的错误显然是关于
insert
),请提供SQL风格、表架构(定义)和insert语句。