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

作者:诺亚神龟zZ 时间:2024-01-13 20:35:14 

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


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报错的解决办法

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

来源:https://blog.51cto.com/13587182/2072460

标签:MySQL,Multiple,primary,key,defined
0
投稿

猜你喜欢

  • 如何通过pycharm实现对数据库的查询等操作(非多步操作)

    2024-01-25 03:31:37
  • python中使用多线程改进flask案例

    2022-11-07 05:44:55
  • 精致的web设计

    2009-12-04 19:07:00
  • 一篇文章带你了解python字典基础

    2021-05-02 23:08:23
  • Python松散正则表达式用法分析

    2021-03-12 02:51:36
  • python中的集合及集合常用的使用方法

    2023-05-04 11:14:11
  • 详解python 字符串和日期之间转换 StringAndDate

    2021-11-17 03:40:56
  • Python直接赋值及深浅拷贝原理详解

    2021-11-23 02:24:18
  • asp vbcrlf是什么意思

    2011-03-30 11:03:00
  • python人工智能tensorflow函数tf.assign使用方法

    2023-04-08 00:59:03
  • Django ForeignKey与数据库的FOREIGN KEY约束详解

    2024-01-18 15:17:40
  • Python入门之集合的使用教程

    2022-10-31 13:44:45
  • Python数据可视化之简单折线图的绘制

    2021-05-25 11:59:30
  • PHP的mysqli_sqlstate()函数讲解

    2023-06-08 14:30:30
  • python私有属性和方法实例分析

    2023-11-21 06:16:13
  • 利用SQLyogEnt对Mysql数据库进行转移

    2012-02-25 20:17:30
  • MySQL查询两个日期之间记录的方法

    2024-01-21 19:47:40
  • MySQL中IO问题的深入分析与优化

    2024-01-19 14:06:48
  • 在Docker上部署Python的Flask框架的教程

    2023-03-27 02:55:38
  • Python 抓取数据存储到Redis中的操作

    2022-11-28 03:13:12
  • asp之家 网络编程 m.aspxhome.com