【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でインサートする時にシーケンス値を取得して入れているのだが、そのシーケンス値と実際のテーブルの値が合わなくてエラーとなっていた。
他のプロジェクトでテストデータが入っていて、その分ズレが発生していた。
ズレを直した所解消!!!
よかたー
-0 Comment-