Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để thay đổi số bắt đầu AUTO_INCREMENT của MySQL?

Giá trị AUTO_INCREMENT của MySQL bắt đầu từ 1 nhưng chúng ta có thể thay đổi nó với sự trợ giúp của hai cách sau -

Với sự trợ giúp của truy vấn ALTER TABLE

Chúng ta có thể sử dụng truy vấn ALTER TABLE để thay đổi giá trị bắt đầu của AUTO_INCREMENT như sau -

ALTER TABLE table_name AUTO_INCREMENT = value;

Ví dụ

Giả sử chúng ta đã tạo một bảng có cột 'id' là AUTO_INCREMENT. Bây giờ nếu chúng ta chèn các giá trị vào đó thì số thứ tự sẽ bắt đầu từ 1 như bạn có thể thấy điều này trong các truy vấn sau -

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)

Bây giờ, nếu chúng ta muốn thay đổi số thứ tự sau đó thì chúng ta cần sử dụng truy vấn ALTER TABLE để thay đổi giá trị của AUTO_INCREMENT như sau -

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)

Truy vấn trên đã thay đổi giá trị của AUTO_INCREMENT thành 10 do đó khi chèn các giá trị mới sau đó chúng ta sẽ nhận được số thứ tự từ 10 trở đi.

Với sự trợ giúp của truy vấn TẠO BẢNG

Chúng tôi cũng có thể thay đổi giá trị AUTO_INCREMENT trong khi tạo bảng. Nó có thể được thực hiện bằng cách chỉ định giá trị của AUTO_INCREMENT với truy vấn CREATE TABLE như sau -

CREATE TABLE (Column1 INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Column2 data type) AUTO_INCREMENT = value;

Ví dụ

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)

Truy vấn ở trên đã chỉ định giá trị của AUTO_INCREMENT thành 100 khi tạo bảng. Bây giờ nếu chúng ta chèn các giá trị vào đó thì số thứ tự sẽ bắt đầu từ 100 thay vì theo giá trị mặc định 1 như sau -

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)