ORAエラー

[ORAエラー] ORA-02299: (XXX.XXX)を検証できません - キーが重複しています。

投稿日:

以下のように表示されます。

(日本語)
ORA-02299: (XXX.XXX)を検証できません - キーが重複しています。
(英語)
ORA-02299: cannot validate (XXX.XXX) - duplicate keys found

XXX.XXXの箇所には、テーブル名.制約名が表示されます

発生パターン

このエラーは以下のような場合に発生します。

  • テーブルに一意制約を追加する時、既に一意制約に違反するデータが存在している
エラー例
SQL> ALTER TABLE test ADD CONSTRAINT myconstraint UNIQUE(col1); ALTER TABLE test ADD CONSTRAINT myconstraint UNIQUE(col1); * 行1でエラーが発生しました。: ORA-02299: (SCOTT.MYCONSTRAINT)を検証できません - キーが重複しています。

testテーブルのcol1列に一意制約を追加しようとしたが、既にcol1列に重複しているデータが存在しているためにエラーが発生しています。
col1列に存在する重複データを無くしてから実行すれば成功します。

対処法

  • テーブルに一意制約を追加する時は、重複データを取り除いてから制約を追加する

備考

  • 重複しているデータを無くせば列データが存在していてもOKです。
    (対象列データを全てNULLにする必要はありません。)

関連記事


スポンサーリンク

スポンサーリンク

-ORAエラー

執筆者:



comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク