【问题标题】:How to drop a foreign key from a table?如何从表中删除外键?
【发布时间】:2014-04-11 16:59:07
【问题描述】:

我不小心用表中的主键创建了一个外键。我想删除索引,但如果我尝试,它会给我:“无法删除外键约束中需要的索引“admin_id”。”

如何删除关系?

【问题讨论】:

  • 我不确定我是否理解“带有主键的外键”的含义......?
  • 嗯,是的,也许我写得不好。我的意思是我用同一​​个表的主键建立了关系。

标签: mysql sql indexing foreign-keys relation


【解决方案1】:

首先删除FOREIGN KEY CONSTRAINT - 此关系约束是从foreign 表建立的。删除 FK 约束 不会删除或更改任何列!

ALTER TABLE foreign_table DROP FOREIGN KEY fk_constraint_name

一旦没有更多约束,就可以删除 KEY(例如 INDEX、PK)状态或整个列。

ALTER TABLE primary_table DROP referenced_column_name

如果“外表”是“同一张表”,则适用相同的规则。


另见:

【讨论】:

  • 我不太明白这个。我试图删除 admin_id 列,但给出了相同的信息。并且 PK 在连接所在的同一个表中。
  • @cyrfandli 删除 FK constraint 时不会删除或更改任何列。因此,不会发生上述违规行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-30
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多