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

(编辑:jimmy 日期: 2024/9/21 浏览:2)

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

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

或者是

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

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

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

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

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

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

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

需要先删除自增:

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

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

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

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

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

一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。