Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thêm cột AUTO_INCREMENT vào bảng đã tồn tại trong MySQL

Sử dụng ALTER TABLE lần lượt: thêm cột, đặt PRIMARY KEY, rồi sửa cột thành AUTO_INCREMENT.

Tạo bảng ban đầu không có ID

mysql> CREATE TABLE DemoTable (StudentName VARCHAR(100));
Query OK, 0 rows affected (0.46 sec)

3 bước ALTER TABLE

mysql> ALTER TABLE DemoTable ADD COLUMN StudentId INT NOT NULL;
Query OK, 0 rows affected (0.50 sec)

mysql> ALTER TABLE DemoTable ADD PRIMARY KEY(StudentId);
Query OK, 0 rows affected (1.23 sec)

mysql> ALTER TABLE DemoTable CHANGE StudentId StudentId INT NOT NULL AUTO_INCREMENT;
Query OK, 0 rows affected (2.20 sec)

Chèn dữ liệu kiểm tra

mysql> INSERT INTO DemoTable(StudentName) VALUES('Chris'), ('David');
Query OK, 2 rows affected (0.17 sec)
mysql> SELECT * FROM DemoTable;
+-------------+-----------+
| StudentName | StudentId |
+-------------+-----------+
| Chris       | 1         |
| David       | 2         |
+-------------+-----------+
2 rows in set (0.00 sec)

Lưu ý:

  • Bảng phải rỗng hoặc cột mới phải NOT NULL với giá trị mặc định hợp lệ
  • MySQL 8.0+ có thể gộp: ALTER TABLE DemoTable ADD COLUMN StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
  • FIRST đặt cột ở đầu bảng