web-dev-qa-db-ja.com

phpmyadminで外部キーテーブルを削除しますか?インデックスを削除できません:外部キー制約で必要です

誤って生成されたいくつかの外部キーを削除する方法を見つけようとしましたが、外部キーに関連付けられたテーブルを削除して削除しようとするたびに、「インデックスを削除できません:外部キー制約に必要です」と表示されます。

13
PiboRock

[構造]タブで、フィールドの下にある[リレーショナルビューを表示]をクリックします。ここで、ドロップダウンで空の値を選択することにより、外部キーを削除できます。

33
johanvs

Alter文で外部キーを削除する必要があります。

ALTER TABLE yourtable DROP CONSTRAINT yourforeignkeyname

強制的にドロップすることもできます(MySQLコンソールでは機能しますが、セッションの処理方法がわからないためphpmyadminでは機能しない可能性があります)

SET FOREIGN_KEY_CHECKS=0; DROP TABLE yourtable;

注:これは非常に危険であり、外部キーを真剣に使用している場合は推奨されません。

5
Cfreak