MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

ALTERコマンドを使用してMySQLテーブルの自動インクリメント初期値を設定します


MySQLテーブルの自動インクリメント初期値を設定するには、ALTERコマンドを使用します。最初のステップは

alter table yourTableName modify yourColumnName int NOT NULL AUTO_INCREMENT PRIMARY KEY,add index(yourColumnName);

2番目のステップは次のとおりです

alter table yourTableName AUTO_INCREMENT=yourStartingValue;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです

mysql> create table setAutoIncrementDemo
   -> (
   -> UserId int,
   -> UserName varchar(20)
   -> );
Query OK, 0 rows affected (0.75 sec)

次に、上記の2つの手順を実装して、MySQLテーブルの自動増分初期値を設定します。

ステップ1- クエリは次のとおりです

mysql> alter table setAutoIncrementDemo modify UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,add index(UserId);
Query OK, 0 rows affected (1.51 sec)
Records: 0 Duplicates: 0 Warnings: 0

ステップ2- クエリは次のとおりです

mysql> alter table setAutoIncrementDemo AUTO_INCREMENT=1000;
Query OK, 0 rows affected (0.34 sec)
Records: 0 Duplicates: 0 Warnings: 0

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。

クエリは次のとおりです

mysql> INSERT INTO setAutoIncrementDemo(UserName) values('John');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO setAutoIncrementDemo(UserName) values('Carol');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO setAutoIncrementDemo(UserName) values('Sam');
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します。

クエリは次のとおりです

mysql> select *from setAutoIncrementDemo;

以下は出力です

+--------+----------+
| UserId | UserName |
+--------+----------+
| 1000   | John     |
| 1001   | Carol    |
| 1002   | Sam      |
+--------+----------+
3 rows in set (0.00 sec)

  1. 列値のMySQLでENUMを設定します

    テーブルの作成中に、ENUM値が必要な列のENUMタイプを設定します。まずテーブルを作成しましょう- mysql> create table DemoTable2019    -> (    -> StudentMarks int,    -> StudentStatus ENUM('First','Second','Fail')    -> ); Query OK, 0 rows affected (1.75 sec) 挿入コマンド-

  2. MySQLで初期値と自動インクリメントを設定するにはどうすればよいですか?

    AUTO_INCREMENT属性は、新しい行の一意のIDを生成するために使用されます。列が「NOTNULL」として宣言されている場合、その列にNULLを割り当てて、一連の数字を生成することができます。 AUTO_INCREMENT列に値が挿入されると、列はその値に設定され、シーケンスもリセットされるため、最大の列値から順番に値が自動的に生成されます。 既存の「AUTO_INCREMENT」列を更新して、「AUTO_INCREMENT」シーケンスもリセットできます。最新の自動生成された「AUTO_INCREMENT;値は、SQLの「LAST_INSERT_ID()」関数を使用するか、C AP