キーが重複しているにもかかわらず、InnoDB 自動インクリメント カウンターがインクリメントし続けるのはなぜですか?

Barbara Streisand
リリース: 2024-11-13 11:26:02
オリジナル
384 人が閲覧しました

Why Does My InnoDB Auto-Increment Counter Keep Incrementing Despite Duplicate Keys?

重複キーに関する InnoDB の自動インクリメントの問題

主キーが自動インクリメントに設定されている InnoDB データベース テーブルでは、次のようになります。重複キーが検出された場合でも、自動インクリメント カウンタがインクリメントし続けることが観察されました。この動作により、提供された例で示されているように、ID が連続しないことになります。この問題を解決するには、次の解決策の実装を検討してください。

MySQL 構成の変更

innodb_autoinc_lock_mode 構成オプションを「0」に設定すると、従来の自動インクリメント ロック モードに切り替えることができます。このモードでは、重複キーを挿入しようとする場合でも、すべての INSERT ステートメントで自動インクリメント列に連続した値が割り当てられます。

SET GLOBAL innodb_autoinc_lock_mode = 0;

連続した値が割り当てられることに注意してください。アプリケーション ロジックでは ID に依存しないでください。その主な目的は、各レコードに一意の識別子を提供することです。連続 ID は見た目には美しいかもしれませんが、実際的な利点はなく、分散システムで問題が発生する可能性があります。

以上がキーが重複しているにもかかわらず、InnoDB 自動インクリメント カウンターがインクリメントし続けるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート