【问题标题】:Deleting foreign key tables on phpmyadmin? cannot drop index: needed in foreign key constraint在 phpmyadmin 上删除外键表?不能删除索引:外键约束中需要
【发布时间】:2014-10-26 21:00:37
【问题描述】:

我一直在尝试找到一种方法来删除一些错误生成的外键,但是每次我 DROP 与外键关联的表以尝试删除它时,它都会显示“无法删除索引:外键中需要约束”。

【问题讨论】:

  • 您不必删除表来删除索引。您可以自行删除索引。仅供参考,“phpmyadmin”不是数据库。是mysql的管理界面。
  • 谢谢,我找到了索引并且能够删除我不需要的索引。不是直接的,但我看到了光。谢谢马克。

标签: php sql phpmyadmin


【解决方案1】:

在“结构”选项卡中,单击字段下方的“查看关系视图”。 在这里,您可以通过在下拉列表中选择一个空值来删除外键。

【讨论】:

  • 提示:如果您没有“查看关系视图”,请尝试“关系视图”
  • 如果您的表使用多个外键,我发现 CFreak 的 2014-09-02 答案更快:SET FOREIGN_KEY_CHECKS=0; DROP TABLE yourtable;
  • 感谢您,真的很乐意从我一直在处理的旧项目中删除一些关系键,但由于关系键卡在旧表上而无法重新创建一些表,我可以删除并添加需要什么来更新这个
【解决方案2】:

您必须使用 alter 语句删除外键:

ALTER TABLE yourtable DROP CONSTRAINT yourforeignkeyname

您也可以强制删除它(在 MySQL 控制台中有效,但在 phpmyadmin 中可能无效,因为我不确定会话是如何处理的)

SET FOREIGN_KEY_CHECKS=0; DROP TABLE yourtable;

注意:这是非常危险的,如果您认真使用外键,则不建议这样做。

【讨论】:

  • 谢谢! +1,别忘了重置 SET FOREIGN_KEY_CHECKS=1;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-18
  • 1970-01-01
  • 1970-01-01
  • 2018-11-28
  • 2015-06-11
  • 2021-05-13
  • 1970-01-01
相关资源
最近更新 更多