我试图使用从另一个表派生的值向表中插入一行.这是我尝试使用的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语句返回预期的结果.
Error: DB2 sql Error: sqlCODE=-407,
sqlSTATE=23502,sqlERRMC=TBSPACEID=2,
TABLEID=75,COLNO=2,DRIVER=3.50.152
sqlState: 23502 ErrorCode: -407
这是什么意思,我的查询有什么问题?
解决方法
最可能的解释是,NextKeyValue表中有其他列不能接受NULL值,而这个INSERT语句正在“尝试”将NULL放入其中.
那是不是这样的情况?