INSERT INTO Locality(versionNo,localityName, localityType, constiCode, deleteFlag,
createdOn, lastUpdate,updatedBy)
SELECT 1, localityName, Localitytype, constituencyCode + '' + regionCode, 1,
CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_USER
FROM dbo.MasterTable.
Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'localityCode', table 'GovMaster.dbo.Locality';
column does not allow nulls. INSERT fails.
我想插入,但LocalityCode是主键,不应该为null。但我上面得到了这个错误。 localityCode是主键,不能为null。我希望localityCode是自动生成的,它应该在插入时自动增量。
答案 0 :(得分:1)
您没有为localityCode
插入一个值,但是您的字段列表中缺少该值:
INSERT INTO Locality(versionNo,localityName, localityType, constiCode, deleteFlag,
createdOn, lastUpdate,updatedBy)
当您将字段从INSERT
列表中删除时,它会获得默认的NULL
值。如果它是一个自动递增的ID字段,排除它是正确的,但它不是你的情况。您需要提供值,或更改架构以允许该字段的NULL
值,或使其成为自动递增字段。
答案 1 :(得分:0)
只是切入追逐,你得到错误的原因是:
<强>问题:强>
localityCode
定义为NOT NULL
,但它似乎不是自动递增字段。localityCode
列。<强>解决方案:强>
localityCode
。localityCode
列的null属性以接受NULL
值。localityCode
列设置为自动增量字段,您可能需要查看以下内容:Adding an identity to an existing column 希望这有帮助!
答案 2 :(得分:0)
谢谢你们。
我删除了现有列并使用 localityCode INT IDENTITY(1,1)重新创建了它,然后将列更改为主键。
: - )