Để thay đổi khóa chính thành auto_increment, bạn có thể sử dụng lệnh MODIFY. Đầu tiên chúng ta hãy tạo một bảng.
mysql> create table changePrimaryKeyInAutoIncrement -> ( -> StudentId int not null primary key, -> StudentName varchar(100), -> StudentAge int, -> StudentAddress varchar(100) -> ); Query OK, 0 rows affected (0.63 sec)
Bây giờ chúng ta hãy kiểm tra mô tả của bảng bằng lệnh desc:
mysql> desc changePrimaryKeyInAutoIncrement;
Điều này sẽ tạo ra kết quả sau
+----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-------+ | StudentId | int(11) | NO | PRI | NULL | | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentAddress | varchar(100) | YES | | NULL | | +----------------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
Nhìn vào kết quả đầu ra mẫu ở trên, cột StudentId là một khóa chính. Bây giờ, hãy để chúng tôi thay đổi khóa chính thành auto_increment:
mysql> alter table changePrimaryKeyInAutoIncrement MODIFY StudentId INT AUTO_INCREMENT; Query OK, 0 rows affected (1.48 sec) Records: 0 Duplicates: 0 Warnings: 0
Hãy để chúng tôi kiểm tra mô tả bảng một lần nữa:
mysql> desc changePrimaryKeyInAutoIncrement;
Điều này sẽ tạo ra kết quả sau
+----------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentAddress | varchar(100) | YES | | NULL | | +----------------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
Nhìn vào kết quả đầu ra mẫu ở trên, cột StudentId đã được thay đổi thành auto_increment.