6

自動インクリメントされたキーにギャップがあります。

innodb_autoinc_lock_mode = 0

問題を単一の INSERT ... SELECT ステートメントに分離しました。基本的に、すべての INSERT ... SELECT ステートメントは、実際に挿入が実行されていない場合でも(重複キー) 、テーブルの auto_increment を 1 ずつ増やします。私の場合、INSERT IGNORE を使用していますが、使用せずにテストしたところ、auto_increment がまだ間違ってインクリメントされています。

この INSERT ... SELECT ステートメントはやや高い頻度で実行されるため、キーが急速に大きくなるため、これが心配です。

仕方がなければ我慢しますが、この動作を回避する方法はありますか?

4

2 に答える 2

2

バグです。これを参照してください: http://bugs.mysql.com/bug.php?id=61058
...次を使用して回避できます:

ALTER TABLE `test` AUTO_INCREMENT = 1;

ただし、一時テーブルを作成したり、データをコピーしたりするため、insert...select それは良い考えではありません..alter table

于 2013-04-06T17:40:51.063 に答える
0

mysql の一般的な問題のようです。個人的に私はそれと一緒に住んでいます。

于 2012-06-20T13:58:46.460 に答える