Php db2 INSERT查询返回错误代码唯一约束冲突

Php db2 INSERT查询返回错误代码唯一约束冲突,php,database,zend-framework,db2,Php,Database,Zend Framework,Db2,我使用db2作为数据库。在将记录插入表之前,我将通过 $pgm = i5_program_prepare("ACSCOMOBJ/PROC", $params); $retval = i5_program_call($pgm, $iparams, $oparams); 在$retval中,我获得了唯一的id 6017088(我用这个id签入了数据库记录,但不存在),我试图使用 INSERT INTO Table_name (OHNUMB, OKLNNO) VALUES (6017088, 1)

我使用db2作为数据库。在将记录插入表之前,我将通过

$pgm = i5_program_prepare("ACSCOMOBJ/PROC", $params);
$retval = i5_program_call($pgm, $iparams, $oparams);
在$retval中,我获得了唯一的id 6017088(我用这个id签入了数据库记录,但不存在),我试图使用

INSERT INTO Table_name (OHNUMB, OKLNNO) VALUES (6017088, 1)
此查询的结果是错误消息23505,它表示唯一约束冲突


这个问题与db2数据库有关吗?如何解决问题?

问题中的信息确实不足,无法回答。向问题中添加表架构可能会有所帮助。桌子上有扳机吗?错误是每次都发生还是只是间歇性地发生?看起来像是先获得一个免费id,然后插入可能会导致一个竞争条件,如果有多个访问。@JoachimIsaksson:错误不是每次都产生,而且我在该表上没有找到任何触发器,那么看起来您可能有一个竞争条件。您获得了一个免费id,其他人获得了相同的id(因为它仍然是免费的)和insert,而您的insert失败,因为该id不再是免费的。@JoachimIsaksson:但我已签入数据库。这个Id已经是免费的了。我的同一数据库模式用于暂存和生产。同一数据库模式用于暂存和生产的相关性是什么?似乎它应该是对我们有用的信息,但我看不出它如何帮助我们了解它。是否有一个细节可以澄清你的情况?另外,实际完整的错误消息是什么,DB2安装在什么平台上,DB2版本是什么?