MySQL:テーブル作成クエリの「AUTO_INCREMENT =5」とは何ですか?
テーブル作成クエリのAUTO_INCREMENT=5は、最初のレコードが5から始まる、つまりデフォルト1ではないことを示します。値をAUTO_INCREMENTに設定しない場合、MySQLはデフォルトでは1。
構文は次のとおりです。
CREATE TABLE yourTableName ( yourColumnName1 dataType NOT NULL AUTO_INCRMENT, . . . N, PRIMARY KEY(yourColumnName1 ) )AUTO_INCREMENT=5;
上記の構文を理解するために、テーブルを作成しましょう。
ケース1- デフォルトの標準であるため、テーブルは1から自動インクリメントを開始します。
テーブルを作成するためのクエリは次のとおりです。
mysql> create table defaultAutoIncrementDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (2.19 sec)
これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです。
mysql> insert into defaultAutoIncrementDemo(Name) values('John'); Query OK, 1 row affected (0.23 sec) mysql> insert into defaultAutoIncrementDemo(Name) values('James'); Query OK, 1 row affected (0.14 sec) mysql> insert into defaultAutoIncrementDemo(Name) values('Robert'); Query OK, 1 row affected (0.14 sec) mysql> insert into defaultAutoIncrementDemo(Name) values('Mike'); Query OK, 1 row affected (0.13 sec)
これで、すべてのレコードを表示して、行が1から始まることを確認できます。クエリは次のとおりです。
mysql> select *from defaultAutoIncrementDemo;
出力は次のとおりです。
+----+--------+ | Id | Name | +----+--------+ | 1 | John | | 2 | James | | 3 | Robert | | 4 | Mike | +----+--------+ 4 rows in set (0.00 sec)
ケース2- auto_incrementを5から開始するためのクエリは次のとおりです。テーブルを作成するためのクエリは次のとおりです。
mysql> create table AutoIncrementStartsFrom5 -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> PRIMARY KEY(Id) -> )AUTO_INCREMENT=5; Query OK, 0 rows affected (1.00 sec)
次に、insertコマンドを使用してテーブルにいくつかのレコードを挿入します。クエリは次のとおりです。
mysql> insert into AutoIncrementStartsFrom5(Name) values('Larry'); Query OK, 1 row affected (0.15 sec) mysql> insert into AutoIncrementStartsFrom5(Name) values('David'); Query OK, 1 row affected (0.20 sec) mysql> insert into AutoIncrementStartsFrom5(Name) values('Bob'); Query OK, 1 row affected (0.13 sec) mysql> insert into AutoIncrementStartsFrom5(Name) values('Ricky'); Query OK, 1 row affected (0.14 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。
mysql> select *from AutoIncrementStartsFrom5;
出力は次のとおりです。
+----+-------+ | Id | Name | +----+-------+ | 5 | Larry | | 6 | David | | 7 | Bob | | 8 | Ricky | +----+-------+ 4 rows in set (0.00 sec)
サンプル出力を見てください。auto_incrementは5から始まります。
-
テーブルを動的に作成するMySQLクエリ?
このために、ストアドプロシージャを使用できます。 2つの列を持つテーブルを動的に作成しましょう。つまり、StudentIdはintで、StudentNameはvarchar- mysql> DELIMITER $$ mysql> CREATE PROCEDURE creatingDynamicTableDemo(yourTableName VARCHAR(200)) -> BEGIN -> SET @name = yourTableName; ->
-
MySQLで手動のAUTO_INCREMENT開始値を使用してテーブルクエリを作成しますか?
まずテーブルを作成しましょう- mysql> create table DemoTable1907 ( UserId int NOT NULL AUTO_INCREMENT, UserName varchar(20), UserAge int, UserCountryName varchar(20), PRIMARY KEY(UserId) )ENGINE=MyISAM,AUTO_INCREMENT=100;