ホームページ  >  記事  >  データベース  >  MySQL で自動インクリメントされる ID が不足した場合はどうすればよいですか?

MySQL で自動インクリメントされる ID が不足した場合はどうすればよいですか?

Guanhui
Guanhuiオリジナル
2020-06-03 10:42:154229ブラウズ

MySQL で自動インクリメントされる ID が不足した場合はどうすればよいですか?

#MySQL が自己増加する ID を使い果たした場合はどうすればよいですか?

MySQL にはさまざまな種類の自動インクリメント ID があり、それぞれの自動インクリメント ID には初期値が設定されており、バイト長が定義されている限り、一定のステップ サイズに従って増加します。上限に達して再度追加すると、主キーの競合エラーが報告されます。解決策として、「bigint unsigned」型の使用を検討してください。

#Test

データ テーブルで定義された自動インクリメント ID (上限に達した場合)。

次回のID申請時も取得値は変わりません。

次の例で確認できます:

create table `test` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4294967295;
 
insert into `test` values (null);

この結果から、データが初めて挿入されたときの ID 値はまだ 4294967295 であることがわかります。初めてデータを挿入するとき、2 回目にデータを挿入すると、主キーの競合エラーが報告されます。

これは、ID 値が上限に達すると、ID 値が変更されないことを意味しますまた。

推奨チュートリアル: 「

MySQL チュートリアル

以上がMySQL で自動インクリメントされる ID が不足した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。