Như chúng ta biết cột AUTO_INCREMENT cũng phải có ràng buộc CHÍNH CHÍNH trên đó, do đó khi chúng tôi cố gắng loại bỏ ràng buộc KHÓA CHÍNH khỏi cột AUTO_INCREMENT, MySQL trả về một thông báo lỗi liên quan đến bảng không chính xác Định nghĩa. Ví dụ dưới đây sẽ chứng minh điều đó -
Ví dụ
Giả sử chúng ta có bảng 'Tài khoản' có mô tả sau -
mysql> Describe accounts; +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | Sr | int(10) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | amount | int(15) | YES | | NULL | | +--------+-------------+------+-----+---------+----------------+ 3 rows in set (0.10 sec)
Nó đang có một ‘Sr’ được đệ trình với định nghĩa AUTO_INCREMENT và PRIMARY KEY. Bây giờ, nếu chúng ta cố gắng thả KHÓA CHÍNH này thì MySQL sẽ gặp lỗi như sau -
mysql> Alter table Accounts DROP PRIMARY KEY; ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key