gpt4 book ai didi

mysql - 使用 Alter 命令删除主键和外键

转载 作者:行者123 更新时间:2023-11-30 00:36:06 27 4
gpt4 key购买 nike

我创建了三个表

创建表employee1(eid int, ename varchar(25),email varchar(15));

创建表accounts1(eid int, accno int,atype varchar(2),bal int);

创建表trans1(cid int, accno int, atype varchar(2), accounts int, bal int);

使用alter命令我添加了主键和外键

修改表employee1添加主键(eid);

修改表accounts1添加外键(eid)引用employee1(eid);

修改表accounts1添加主键(accno,atype);

修改表trans1添加外键(accno,atype)引用accounts1(accno,atype);

现在我的问题是我试图删除所有表的所有主键和外键,这给我带来了错误。

最初我尝试删除主键。然后引用下面的链接告诉我必须首先删除外键,我尝试这样做,但仍然收到错误。 MYSQL 5.5 Drop Primary Key

错误:

mysql> 更改表employee1 删除约束eid;

错误 1064 (42000):您的 SQL 语法有错误;检查对应的手册考虑您的 MySQL 服务器版本,以获取在“constraint eid”附近使用的正确语法第 1 行

mysql> 更改表accounts1 删除主键;

错误 1025 (HY000):将“.\jlcindia#sql-b20_1”重命名为“.\jlcindia\accounts”时出错1'(错误号:150)

mysql> 更改表employee1 删除主键;

错误 1025 (HY000):将“.\jlcindia#sql-b20_1”重命名为“.\jlcindia\employee”时出错1'(错误号:150)

mysql> alter table trans1 dropforeign key;

错误 1005 (HY000):无法创建表“jlcindia.#sql-b20_1”(错误号:150)mysql> 显示引擎 innodb 状态

注意:我的任何表中都没有自动增量或任何此类内容。

我检查了以下链接,但没有任何帮助。

Remove Primary Key in MySQL

mysql, alter column remove primary key and auto incremement

Error altering primary key column in mysql table

How can I alter a primary key constraint using SQL syntax?

最佳答案

您需要按以下顺序删除约束(与创建 key 的顺序相反):

  • 表中的外键 trans1
  • accounts1中的主键
  • accounts1中的外键
  • 表中的主键employee1

fiddle

关于mysql - 使用 Alter 命令删除主键和外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22162595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com