2011-07-19 19 views
4

レコードをデータベースに追加しようとすると、上記のエラーが発生します。 問題の列は 'auto_increment'に設定され、長さが10のデータ型 'INT'です。キー 'PRIMARY'の重複エントリ '6343'

オンラインで見ると、自動増分列が上限に達したときにこのエラーが発生することがわかります。この例では、テーブルには6342個のレコードしか含まれておらず、列はもっと多くのレコードを保持できる必要があります。

実際、問題のアプリケーションはいくつかのインストールで使用されており、場合によっては同一構造の同等のテーブルにこれ以上のレコードがあり、エラーは発生しません。

私はこの列のデータ型を 'BIGINT'に変更しても、他のインストールではそれ以上のレコードが残っていても問題は解決しました。

誰でもこの問題が発生した理由をお聞かせください。

ありがとうございます。

+0

データタイプをINTに戻すとどうなりますか? – Karolis

+0

SELECT @@ auto_increment_incrementは問題のあるインスタンスに戻りますか? – Quassnoi

+0

データタイプをINTに戻しました。問題なく引き続き動作します。 –

答えて

0

サーバーの変数auto_increment_offsetが6343に設定されているようです。詳しくは、hereを参照してください。

+0

私はチェックしましたが、auto_increment_offsetは '1'に設定されています。また、このアプリケーションのすべてのインストールは、同じサーバー上で実行されていますが、データベースは異なります。したがって、サーバー全体の設定はすべてそれらに影響します。 –

関連する問題