首页 > 解决方案 > SQL:无法将值 NULL 插入到列“ExampleID”中

问题描述

执行后我不断收到错误:

无法将值 NULL 插入列“ExampleID”、表“DB_Example.dbo.tbl_Example”;列不允许空值。插入失败。

但是我认为不存在任何 NULL 值。我正在尝试使用以下内容简单地填充具有特定值的表:

SELECT * FROM tbl_Example
INSERT INTO tbl_Example ([Name])
VALUES ('Example1'),
('Example2'),
('Example3'), 
('Example4')

我正在使用完全相同的代码/格式来填充数据库中的 3 个其他表,并且除了这个之外,没有收到任何错误。想不通。

编辑:DBMS 是 SQL Server

标签: sqlsql-server

解决方案


似乎tbl_Example有其他列(即ExampleIDNOT NULL定义了约束。因此,您不能插入空值:

您还需要说明该列:

INSERT INTO tbl_Example (ExampleID, [Name])
     VALUES (?, 'Example1'), (?, 'Example2'), (?, 'Example3'), (?, 'Example4')

每当您使用INSERT INTO table (column_list)语句 & 如果任何已定义NOT NULL约束的列时,您都必须声明该列名期望标识列,例如primary key.

例如,您的ExampleID专栏建议我作为身份专栏。


推荐阅读