从子选择 - NULL错误中将行插入DB2

时间:2009-05-17 03:13:48

标签: sql db2

我正在尝试使用从另一个表派生的值向表中插入一行。这是我尝试使用的SQL语句:

INSERT INTO NextKeyValue(KeyName, KeyValue) SELECT 'DisplayWorkItemId' AS KeyName, (MAX(work_item_display_id) + 1) AS KeyValue FROM work_item;

所以,我试图在NextKeyValue中创建一个'KeyName'为'DisplayWorkItemId'和'KeyValue'的行,其行数超过work_item.work_item_display_id中的最大值。

当我自己运行它时,上面查询中的SELECT语句返回预期的结果。

但是整个SQL查询给出了以下错误:

  

错误:DB2 SQL错误:SQLCODE = -407,   SQLSTATE = 23502,SQLERRMC = TBSPACEID = 2,   TABLEID = 75,COLNO = 2,DRIVER = 3.50.152   SQLState:23502 ErrorCode:-407

这是什么意思,我的查询有什么问题?

1 个答案:

答案 0 :(得分:15)

最可能的解释是,NextKeyValue表中有其他列不能接受NULL值,而这个INSERT语句正在“尝试”将NULL放入其中。

是不是这样的情况?