Ch

MySql 中如何删除未命名的外键?

删除外键需要知道外键的名称,如果创建时没有设置名称则会自动生成一个,你需要获取改外键的信息。

使用以下命令获取外键信息:

SELECT
  constraint_name
FROM
  information_schema.REFERENTIAL_CONSTRAINTS
WHERE
  constraint_schema = <'db_name'> AND table_name = <'table_name'>;
SELECT *
FROM
  information_schema.KEY_COLUMN_USAGE
WHERE
  constraint_schema = <'db_name'> AND table_name = <'table_name'> AND   
  referenced_table_name IS NOT NULL;

可以使用以下命令来删除外键:

ALTER TABLE <table_name> DROP INDEX <fk_name>;