DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLER

DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=2 。

   1、查了下,大概意思是违反了唯一性约束啊!

   2、不过,我db2 describe table XX后发现这个表只有ID是不能为空的啊!

   3、最后,直接写了条SQL在命令行执行,同样的错和代码

   最后,我查了下表的索引,发现建了个组合索引,才恍然大悟。

   原来,DBA昨天建了唯一性约束和索引导致的!

虽然describe出来只有ID不能为空,但是加了唯一性约束和索引后导致不能插入数据。


进行数据插入时,出现SQLCODE=-803, SQLSTATE=23505错误,(db2数据库)。

根据错误代码中提示,应该是id有了唯一性约束的问题,最后将当前insert语句放在db2中执行后,仍有此问题,因此断定id字段有问题。由于 id字段是自增字段,在网上查了相关信息,有实例说明是因为在id字段不小心将其设置为唯一性约束。当然在本机上绝不是这种情况,于是想到的可能性是开发 人员之前在数据库中自定义的给了id固定值,导致默认值和此固定值之间冲突。

解决方法:alter table student alter ID restart with xxxx 。xxxx可以自定义,为当前表中id的最大值加1即可。


你可能感兴趣的:(DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLER)