sql >> データベース >  >> RDS >> Oracle

エラーora-02299のnovalidate

    私が正しく理解していれば、Oracleは古い重複値を無視し、制約を満たしている場合にのみ新しい値を許可することを期待しています。 UNIQUEを追加すると、エラーが返されます。 制約により、Oracleは値をチェックするために列に一意のインデックスを作成しますが、テーブルにはすでに重複する値があるため、失敗します。最初に非一意のインデックスを作成し、次に制約を追加して、失敗する一意のインデックスを自動的に作成するのではなく、既存の非一意のインデックスを使用するようにします。

    create index arc_ix on arc (name);
    
    alter table arc add constraint arc_uq unique (name) enable novalidate;
    



    1. MysqlがテーブルエンジンMyISAMをInnoDBに変更

    2. MySQLでCOUNTを使用するときにnullではなく0を返す方法

    3. Elastic Searchの全文とmysqlの全文?

    4. WindowsでPerlのDBIモジュールを使用してMSSQLデータベースに接続するにはどうすればよいですか?