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

Autoincrement trong MySQL bắt đầu từ 1? Làm thế nào chúng ta có thể bắt đầu nó từ một số khác?

Tự động gia tăng trong MySQL mỗi lần đưa ra một số duy nhất. Theo mặc định, nó bắt đầu từ 1. Nếu bạn muốn bắt đầu từ một số khác, thì bạn cần thay đổi giá trị tăng tự động với sự trợ giúp của lệnh ALTER hoặc bạn có thể cung cấp giá trị tại thời điểm tạo bảng.

Đầu tiên chúng ta hãy tạo một bảng -

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

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.08 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

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

Sau đây là truy vấn để thay đổi giá trị auto_increment để bắt đầu từ một số khác -

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

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.12 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau. Giờ đây, giá trị auto_increment mới đã được chèn và bắt đầu từ 1000 -

+--------------+
| UniqueNumber |
+--------------+
|            1 |
|            2 |
|            3 |
|            4 |
|         1000 |
|         1001 |
|         1002 |
+--------------+
7 rows in set (0.00 sec)