【发布时间】:2017-09-24 05:54:01
【问题描述】:
这是我的示例表定义:
CREATE TABLE [MyTable]
(
[ColumnName] [bit] NOT NULL
)
ALTER TABLE [MyTable] ADD DEFAULT ((0)) FOR [ColumnName]
我希望能够将Null 值传递给我的存储过程的@ColumnValue,类似于:
@ColumnValue = null;
INSERT INTO [MyTable] ([ColumnName])
VALUES (@ColumnValue)
但是我收到了这个错误:
“无法将值 NULL 插入列... INSERT 失败”
为什么DEFAULT 约束不起作用?
【问题讨论】:
-
如果请求的插入没有为该字段指定值,则将插入默认值。您正在为该字段指定 NULL。如果可能,修改您的插入以完全排除该字段,或修改执行插入的应用程序以了解并提供默认值。
标签: sql sql-server tsql