MySQL は現在最も人気のあるオープンソース データベースの 1 つであり、その強力な機能と使いやすさも人気の理由です。その中でも、自動インクリメントは MySQL でよく使われる機能の 1 つです。この記事では、MySQL が自動インクリメント関数をどのように使用するかを紹介します。
1. 自動インクリメントとは
自動インクリメントは、MySQL データベースの自動拡張機能です。テーブルに自動インクリメント フィールドがある場合、新しいデータが挿入されるたびに、自動インクリメント フィールドは自動的に 1 ずつインクリメントされます。自動インクリメントは、自動 ID 生成、自動シーケンス生成など、いくつかの問題をうまく解決できます。
2. 自動インクリメント フィールドの設定方法
自動インクリメントを設定するには、テーブルの作成時に関連するフィールドに属性 AUTO_INCREMENT を追加する必要があります。例:
CREATE TABLE user
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(30) ) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上記のステートメントでは、自動インクリメントとして ID を設定しています。フィールド、そのタイプは int で、長さは 11 です。 AUTO_INCREMENT オプションは、データが挿入されるたびに新しい値を id フィールドに自動的に割り当てるように MySQL に指示します。
すでに作成されているテーブルに自動インクリメント フィールドを追加するには、ALTER TABLE ステートメントを使用する必要があります。例:
ALTER TABLE user
ADD COLUMN age
INT(11) NOT NULL AUTO_INCREMENT AFTER name
;
Inこの例では、age という名前の自動インクリメント フィールドを追加しました。自動インクリメントフィールドを追加するときは、フィールドが NULL でないことを確認してください。
3. 自動インクリメント フィールドを挿入する方法
自動インクリメント フィールドを挿入するときは、次のようになります:
INSERT INTO user
( name
) VALUES ('Zhang San');
このテーブルをクエリすると、次の結果が得られます:
SELECT * FROM user
;
id | name |
---|---|
1 | 张三 |
ステートメントで id に値を代入しなくても、id フィールドが自動的にインクリメントされることがわかります。これは、フィールドのプロパティに AUTO_INCREMENT があるためです。この属性は、テーブルにデータが挿入されると、MySQL が id フィールドに一意の値を自動的に割り当てて、値が自動的にインクリメントされるように MySQL に指示します。
別のデータを挿入すると、次のようになります。
INSERT INTO user
(name
) VALUES ('李思');
このテーブルをクエリすると、次の結果が得られます:
SELECT * FROM user
;
id | 名前 |
---|---|
1 | 张三 |
2 | 李四 |
ID が自動的に再び 2 に増加することがわかります。
4. 自動インクリメント フィールドの制限
自動インクリメント フィールドを使用する際には、自動インクリメントのいくつかの制限も理解する必要があります。インクリメント フィールドは整数型のみにすることができ、10 進数やテキストなどは使用できません。
以上がMySQL で自動インクリメント関数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。