2009-05-13 5 views
0

テーブルに項目を挿入するこのJavaサーブレットを作成しましたが失敗しました。私はそれが私の挿入と削除に起因するかもしれないと思います。 javaサーブレットは、SQL Serverにinsert文を実行します。私のエラーログには、次のように書かれています:javaサーブレット:一意のインデックス 'XAK1timItem'を持つオブジェクトのキー行が重複しています

com.microsoft.sqlserver.jdbc.sqlserverexception: cannot insert duplicate key row in object 'dbo.timitem' with unique index 'XAK1timitem'. 

アイデア?

更新:「XAK1timItem(Unique、Non-Clustered)」というインデックスがあることがわかりましたが、これはどうしたらよいかわかりません。

答えて

1

ユニークインデックスは、インデックスに含まれる行の組み合わせに対して一意性を強制します。したがって、データベースにインデックス付きの列の値を挿入しようとしている行がある場合は、データベースからエラーが返されます。

AK部は、これはおそらく、テーブルが通常主キーを有し、行を一意に識別するためのAKに頼る必要がないことを意味 K lternative EYであることを示しています。

いくつかのオプション:があれば、それは重複する値

  • チェックを可能にするよう

    • 必要ありませんが、ユニークインデックス
    • に別の列を追加する場合は、インデックスをドロップするには、インデックスがユニークでない作ります 挿入して挿入を中止しようとしている行に既に一致していますが、これをしたくないと思います。
  • 関連する問題