码迷,mamicode.com
首页 > 数据库 > 详细

MySQL中出现Multiple primary key defined报错提示之解决办法

时间:2018-02-23 22:09:55      阅读:30545      评论:0      收藏:0      [点我收藏+]

标签:分享图片   block   例子   出现   一个   表名   term   报错   -o   

创建主键可以有两种方式:

create table 表名(
字段名 类型,
字段名 类型,
……
primary key(name)
);


或者是

create table 表名(
字段名 类型 primary key,
字段名 类型,
……
);


但是要注意的是,想要创建复合主键,就不可以用第二种方式。
下面列举一个小例子:

技术分享图片
这里报错Multiple primary key defined,表示定义了多个主键,正确的写法是如下:
技术分享图片
如果项设置复合主键,复合主键的特点是同时创建、同时删除,所以需要把主键删除,但是这里设置了自增,需要先把自增删除,才可以删除主键,如果不先删除自增,而直接删除主键的话会报错(如下)。
技术分享图片
需要先删除自增:
技术分享图片
这里我们创建复合主键的话,把name字段上的普通索引先删除掉,再给stu_id和name字段同时创建复合主键:

技术分享图片

总结:文章开头写的两种创建主键的方式,第二中方式不可以在创建复合主键的时候用;复合主键要同时创建、同时删除。

MySQL中出现Multiple primary key defined报错提示之解决办法

标签:分享图片   block   例子   出现   一个   表名   term   报错   -o   

原文地址:http://blog.51cto.com/13587182/2072460

(0)
(4)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!