修改過后的表
mysql> desc countryRiskLevel; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | id | int(11) | NO | | NULL | | | countryName | varchar(30) | NO | | NULL | | | countrycd | varchar(2) | NO | PRI | NULL | | | riskLevel | int(11) | YES | | 1 | | | riskClass | varchar(8) | NO | | low | | +-------------+-------------+------+-----+---------+-------+
今天使用Navicat這個客戶端寫了一些SQL給已有的表添加主鍵,其語句如下:
ALTER TABLE countryRiskLevel ADD PRIMARY KEY ( countrycd );
這條語句在Navicat無論如何都會報錯誤

但是在MySQL去執行同樣的語句卻是成功的。

另外,如果用auto_increment 設置了自增列,這個自增列必須為主鍵,否則會報錯。
參考鏈接:
