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

MySQL AUTO_INCREMENTの開始番号を変更するにはどうすればよいですか?


MySQL AUTO_INCREMENT値は1から始まりますが、次の2つの方法で変更できます-

ALTERTABLEクエリを使用

ALTER TABLEクエリを使用して、AUTO_INCREMENTの開始値を次のように変更できます-

ALTER TABLE table_name AUTO_INCREMENT = value;
列「id」をAUTO_INCREMENTとして持つテーブルを作成したとします。ここで値を挿入すると、次のクエリで確認できるように、シーケンス番号は1から始まります-

mysql> Create Table EMP(id int NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10));
Query OK, 0 rows affected (0.07 sec)

mysql> Insert Into EMP(Name) Values('Aryan');
Query OK, 1 row affected (0.02 sec)

mysql> Insert Into EMP(Name) Values('Yash');
Query OK, 1 row affected (0.04 sec)

mysql> Select * from EMP;
+----+-------+
| id | NAME  |
+----+-------+
| 1  | Aryan |
| 2  | Yash  |
+----+-------+
2 rows in set (0.00 sec)

ここで、後でシーケンス番号を変更する場合は、ALTERTABLEクエリを使用してAUTO_INCREMENTの値を次のように変更する必要があります-

mysql> Alter table emp auto_increment = 10;
Query OK, 2 rows affected (0.25 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> Insert Into EMP(Name) Values('Daksh');
Query OK, 1 row affected (0.03 sec)

mysql> Insert Into EMP(Name) Values('Shayra');
Query OK, 1 row affected (0.06 sec)

mysql> Select * from EMP;
+----+--------+
| id | NAME   |
+----+--------+
| 1  | Aryan  |
| 2  | Yash   |
| 10 | Daksh  |
| 11 | Shayra |
+----+--------+
4 rows in set (0.00 sec)

上記のクエリにより、AUTO_INCREMENTの値が10に変更されたため、新しい値を挿入すると、10以降のシーケンス番号が取得されます。

CREATETABLEクエリを使用

テーブルの作成中にAUTO_INCREMENT値を変更することもできます。これは、CREATETABLEクエリでAUTO_INCREMENTの値を次のように指定することで実行できます-

CREATE TABLE (Column1 INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Column2 data type) AUTO_INCREMENT = value;
mysql> Create Table EMP1(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10)) AUTO_INCREMENT = 100;
Query OK, 0 rows affected (0.11 sec)

上記のクエリは、テーブルの作成時にAUTO_INCREMENTの値を100に指定しました。ここで値を挿入すると、シーケンス番号はデフォルトの値1ではなく100から始まります-

mysql> Insert into emp1(name) values('Sohan');
Query OK, 1 row affected (0.04 sec)

mysql> Insert into emp1(name) values('Harshit');
Query OK, 1 row affected (0.05 sec)

mysql> Select * from emp1;
+-----+---------+
| id  | NAME    |
+-----+---------+
| 100 |   Sohan |
| 101 | Harshit |
+-----+---------+
2 rows in set (0.00 sec)

  1. MySQLで日数を数えるにはどうすればよいですか?

    まず、1つの列を日時として、別の列に日が格納されているテーブルを作成しましょう。 mysql> create table DemoTable (    ShippingDate datetime,    CountOfDate int ); Query OK, 0 rows affected (0.52 sec) 以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。 mysql> insert into DemoTable values('2018-01-31',6); Query OK,

  2. MySQLでsoundex()をクエリする方法は?

    SOUNDEX()はsoundex文字列を返します。ほぼ同じように聞こえる2つのストリングは、同じsoundexストリングを持つ必要があります MySQLでsoundex()をクエリするには、次の構文を使用できます- select *from yourTableName where soundex(yourValue)=soundex(yourColumnName); まずテーブルを作成しましょう- mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREMENT PRIM