ホームページ > データベース > mysql チュートリアル > mysqlの自動増加を実現する方法

mysqlの自動増加を実現する方法

WBOY
リリース: 2022-02-24 10:46:47
オリジナル
24426 人が閲覧しました

mysql では、「AUTO INCREMENT」フィールドを使用して自動インクリメントを実現できます。このフィールドは、新しいレコードがテーブルに挿入されるときに一意の番号を生成します。デフォルトの開始値は 1 で、新しいレコードが追加されるたびに、レコードは 1 ずつ増加します。構文は「フィールド名 データ型 AUTO_INCREMENT」です。

mysqlの自動増加を実現する方法

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysql はどのようにして自動増加を実現しますか?

自動増加の役割:

問題: データ テーブルに主キー制約を設定した後、レコードが挿入されるたびに、 、挿入された値がすでに存在する場合、挿入は失敗します。

解決方法: 主キーに自動的に増加する値を生成します。

自動拡張構文:

字段名 数据类型 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;
ログイン後にコピー

mysqlの自動増加を実現する方法

自動拡張の使用例:

#插入时省略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;
ログイン後にコピー

mysqlの自動増加を実現する方法

自動拡張値の表示:

#查看自动增长值
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 サイトの他の関連記事を参照してください。

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