2012-04-01 9 views
1

MySQLの問題がかなりあります。MySQLのデーモンを再起動した後でMySQLの重複エントリエラーが発生する

私は、自動インクリメントプライマリキーを持つテーブルを持っています。

Primary keys are: 1, 2, 3, 4, 5, 6 
Next auto increment key is 7. 

ここで最後の2つのエントリを削除します。

Primary keys are: 1, 2, 3, 4 
Next auto increment key is 7. 

すべてが順調です。

何らかの理由(おそらくアップデート)で、私はmysqlデーモンを再起動します。

Primary keys are: 1, 2, 3, 4 
Next auto increment key is 5. 

このテーブルには外部キーがあるので、重複したエントリエラーが発生しています。

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 

これらの重複したエントリエラーがmysqlを更新するたびに停止することを確認するにはどうすればよいですか?

更新日:からこのバグが見つかりました! http://bugs.mysql.com/bug.php?id=199

+0

を取得するために何をすればよいのか説明し、そのバグでも重複した問題について説明する必要があります。私は再計算されたPKsとの問題は表示されません – zerkms

+0

私は私の用語が混ざっていると思う。私と一緒に抱きしめてください。子テーブルエントリが削除された親テーブルエントリを参照する場合、1062エラーが発行されると私は考える。 – Kevin

+0

行を参照する行がある場合、行を削除する方法もありますか?親行を削除すると、重複制約ではなく、別の整合性制約違反エラーが発生します。あなたは**詳細**を**あなたが**エントリー**の重複を得るために何をするのかを説明できますか? – zerkms

答えて

0

how innodb calculates next autoincrement valueつまり:それはメモリに格納し、起動時にそれだけでMAX(id) + 1値を取得します。

2番目の部分がどのように問題に関連しているかわかりません。 FK が複製されていれば、外部キーは重複とは関係ありません。

おそらく、重複の問題が十分に説明されていない可能性があります。少なくとも、実際にduplicate entryエラー

関連する問題