修改过后的表
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 设置了自增列,这个自增列必须为主键,否则会报错。
参考链接: