无法将值 NULL 插入列 CreationTime

Posted

技术标签:

【中文标题】无法将值 NULL 插入列 CreationTime【英文标题】:Cannot insert the value NULL into column CreationTime 【发布时间】:2016-06-20 15:50:26 【问题描述】:

运行时异常:

无法将值 NULL 插入列“CreationTime”,表 '我的表';列不允许空值。插入 失败。

代码:

INSERT INTO [MyTables] (LegacyId, CreationTime)
    SELECT DISTINCT 
        a.[IPLID], a.[inputdate] 
    FROM 
        [Legacy].[dbo].[MyTables2] AS a 

a.[inputdate]Null 时,你能告诉我如何插入像01/01/2000 这样的自定义日期吗?

【问题讨论】:

【参考方案1】:

只需在 ISNULL 中换行:

INSERT INTO [MyTables] (LegacyId,CreationTime)
SELECT DISTINCT a.[IPLID],ISNULL(a.[inputdate], '01/01/2000')
FROM [Legacy].[dbo].[MyTables2] as a 

【讨论】:

【参考方案2】:

使用 ISNULL 函数。

INSERT INTO [MyTables] (LegacyId,CreationTime)
SELECT DISTINCT a.[IPLID],ISNULL(a.[inputdate], '01/01/2000') FROM [Legacy].[dbo].[MyTables2] as a 

【讨论】:

以上是关于无法将值 NULL 插入列 CreationTime的主要内容,如果未能解决你的问题,请参考以下文章

无法将值 NULL 插入列“id”、表“XXX”;列不允许空值。插入失败

无法将值 NULL 插入列 - 如何强制标识增加? [关闭]

无法将值 NULL 插入列“EmpId”[关闭]

EF Code First - 无法将值 NULL 插入列

SqlException:无法将值 NULL 插入列“x”;列不允许空值。插入失败

ADO.NET SqlCommand:无法将值 NULL 插入列