【DB2】SQLSTATE[23505]: Unique violation: -803 [IBM][CLI Driver][AS] SQL0803N

DB2でインサートをしようとしたら

「SQLSTATE[23505]: Unique violation: -803 [IBM][CLI Driver][AS] SQL0803N」

のエラー。

ログ見ても


INSERT ステートメント、UPDATE ステートメントの 1 つ以上の値、 および DELETE ステートメントが原因で発生した外部キーの更新は無効です。 これは、”*N.*N” で識別される主キー、ユニーク制約、またはユニーク索引が表 “tablename” が索引キーに対して重複する値を持つことを制限しているためです。 SQLSTATE=23505

という意味不明の説明しかない。

原因をネットで探してもわからず。

色々調べた結果
原因はシーケンス値のズレ。
SQLでインサートする時にシーケンス値を取得して入れているのだが、そのシーケンス値と実際のテーブルの値が合わなくてエラーとなっていた。
他のプロジェクトでテストデータが入っていて、その分ズレが発生していた。
ズレを直した所解消!!!

よかたー

コメント