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

MySQLで自動インクリメント値を1から開始するように設定するにはどうすればよいですか?


テーブルを切り捨てて、MySQLでauto_increment値を1から開始するように設定できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY
);
Query OK, 0 rows affected (1.44 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.06 sec)

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

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-----------+
| StudentId |
+-----------+
|         1 |
|         2 |
|         3 |
|         4 |
+-----------+
4 rows in set (0.00 sec)

ここで、さらに値を挿入する場合、AUTO_INCREMENTであるStudentIdは5から続行されます。これを回避するには、最初にテーブルを切り捨てます-

以下は、1からauto_increment値を開始するためにテーブルを切り捨てるクエリです-

mysql> truncate table DemoTable;
Query OK, 0 rows affected (0.93 sec)
mysql> select *from DemoTable;
Empty set (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.07 sec)

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

mysql> select *from DemoTable;

これにより、次の出力が生成されます。ここで、上記のテーブルを切り捨てたため、以下の出力に示すように、AUTO_INCREMENTは再び1から始まります-

+-----------+
| StudentId |
+-----------+
|         1 |
|         2 |
|         3 |
+-----------+
3 rows in set (0.00 sec)

  1. MySQL SELECT IN()で単一の値を設定できますか?

    はい、MySQLではIN()を使用して単一の値を設定できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> FirstName varchar(20)    -> ); Query OK, 0 rows affected (0.65 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris'); Query O

  2. MySQLの別のフィールドからフィールドの値を導出する方法は?

    このために、ユーザー定義変数の概念を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1868      (      Value int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1868 values(10); Query OK, 1 row affected (0