mysql では、「AUTO INCREMENT」フィールドを使用して自動インクリメントを実現できます。このフィールドは、新しいレコードがテーブルに挿入されるときに一意の番号を生成します。デフォルトの開始値は 1 で、新しいレコードが追加されるたびに、レコードは 1 ずつ増加します。構文は「フィールド名 データ型 AUTO_INCREMENT」です。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
自動増加の役割:
問題: データ テーブルに主キー制約を設定した後、レコードが挿入されるたびに、 、挿入された値がすでに存在する場合、挿入は失敗します。
解決方法: 主キーに自動的に増加する値を生成します。
自動拡張構文:
字段名 数据类型 AUTO_INCREMENT;
使用手順:
1. テーブル内に存在できる自動拡張フィールドは 1 つだけです;
2。このフィールドのデータ型は整数型です;
3. UNIQUE KEY、PRIMARY KEY;
4 などのキーとして定義する必要があります。NULL、0、DEFAULT が挿入される場合自動拡張フィールドの場合、または挿入時このフィールドが省略された場合、フィールドは自動拡張値を使用します;
5。特定の値が挿入された場合、自動拡張値は使用されません;
6. 自動増加値は 1 から始まります。毎回 1 を加えて自動的に増加し始めます。
7. 挿入された値が自動増加値より大きい場合、次回挿入される自動増加値は最大値に 1 を加えた値が自動的に使用されます;
8。挿入された値が自動増加値よりも小さい場合、自動増加値には影響しません;
9。 DELETE を実行してレコードを削除すると、自動拡張値はギャップを減らしたり埋めたりしません。
自動拡張の使用例:
--自动增长使用演示 Create Table my_auto( id Int Unsigned Primary Key Auto_Increment, username Varchar(20) ); #查看 DESC my_auto;
自動拡張の使用例:
#插入时省略id字段,将会使用自动增长值 Insert Into my_auto(username) Values('a'); #为id字段插入null,将会使用自动增长值 Insert Into my_auto Values(Null,'b'); #为id字段插入具体值6 Insert Into my_auto Values(6,'c'); #为id字段插入0,使用自动增长值 Insert Into my_auto Values(0,'d'); #查看 Select * From my_auto;
自動拡張値の表示:
#查看自动增长值 Show Create Table my_auto;
既存のテーブルの自動拡張の変更または削除:
#修改自动增长值 Alter Table my_auto Auto_Increment=10; #删除自动增长值 Alter Table my_auto Modify id Int Unsigned; #重新为id添加自动增长值 Alter Table my_auto Modify id Int Unsigned Auto_Increment;
注:
1. 自動拡張を削除して再度追加すると、自動拡張の初期値は列の既存の最大値に 1 を加算するように自動的に設定されます;
2. 自動拡張の値を変更する場合、変更された値が列の既存の最大値より小さい場合、変更は有効になりません。
推奨学習: mysql ビデオ チュートリアル
以上がmysqlの自動増加を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。