给MySQL表添加主键

Posted majestyking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给MySQL表添加主键相关的知识,希望对你有一定的参考价值。

修改过后的表

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 设置了自增列,这个自增列必须为主键,否则会报错。

 参考链接:

https://www.php.cn/mysql-tutorials-418318.html

以上是关于给MySQL表添加主键的主要内容,如果未能解决你的问题,请参考以下文章

13.mysql

Hibernate 生成策略和缓存策略

3.啥是键、候选键、主键和外键?

SQL语句删除和添加外键主键

SQL Server 如何添加删除外键主键,以及更新自增属性

数据库—超键候选键主键外键