我想从表中移除约束条件。我的问题是:

ALTER TABLE `tbl_magazine_issue` 
DROP CONSTRAINT `FK_tbl_magazine_issue_mst_users`

但是我得到了一个错误:

#1064 -你的SQL语法错误;请查看MySQL服务器版本对应的手册,在第一行使用“constraint FK_tbl_magazine_issue_mst_users”附近的正确语法


当前回答

我也遇到过同样的问题,我用下面的代码来解决:

ALTER TABLE `table_name` DROP FOREIGN KEY `id_name_fk`;
ALTER TABLE `table_name` DROP INDEX  `id_name_fk`;

其他回答

如果约束不是外键,例如。一个添加使用'UNIQUE CONSTRAINT (colA, colB)',然后它是一个可以使用ALTER TABLE删除的索引…下降指数…

删除约束最简单的方法是使用语法ALTER TABLE tbl_name DROP constraint符号;MySQL 8.0.19介绍:

从MySQL 8.0.19开始,ALTER TABLE允许使用更通用的(和SQL标准的)语法来删除和修改任何类型的现有约束,其中约束类型由约束名称决定

ALTER TABLE tbl_magazine_issue DROP CONSTRAINT FK_tbl_magazine_issue_mst_users;

db < > fiddle演示

进入表的结构视图 您将在顶部a.表结构b.关系视图中看到2个选项。 现在单击关系视图,在这里可以删除外键约束。在这里你会得到所有的关系。

我也遇到过同样的问题,我用下面的代码来解决:

ALTER TABLE `table_name` DROP FOREIGN KEY `id_name_fk`;
ALTER TABLE `table_name` DROP INDEX  `id_name_fk`;

Mysql有一个特殊的语法来删除外键约束:

ALTER TABLE tbl_magazine_issue
  DROP FOREIGN KEY FK_tbl_magazine_issue_mst_users