mysql multiple_MySQL中Multiple primary key defined报错的解决办法

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

create table 表名(

字段名 类型,

字段名 类型,

……

primary key(name)

);

或者是

create table 表名(

字段名 类型 primary key,

字段名 类型,

……

);

但是要注意的是,想要创建复合主键,就不可以用第二种方式。

下面列举一个小例子:

42835af0b13c9c7a19e9f4422197d12f.png

这里报错Multiple primary key defined,表示定义了多个主键,正确的写法是如下:

598fa5ad428a23e1276e09e73f4bdf7b.png

如果项设置复合主键,复合主键的特点是同时创建、同时删除,所以需要把主键删除,但是这里设置了自增,需要先把自增删除,才可以删除主键,如果不先删除自增,而直接删除主键的话会报错(如下)。

5605ba9f7e657859f4f5e6eadd6e3df7.png

需要先删除自增:

18a37d9e3e033cdb8b29c67262f260f7.png

这里我们创建复合主键的话,把name字段上的普通索引先删除掉,再给stu_id和name字段同时创建复合主键:

e95f41095c7d60fad83539afa206de36.png

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

以上就是MySQL中出现Multiple primary key defined报错提示之解决办法,感谢大家的阅读和对脚本之家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值