Mysql 如何在数据库中删除外键?

Mysql 如何在数据库中删除外键?,mysql,sql,hibernate,Mysql,Sql,Hibernate,我正在使用Hibernate生成我的模式。Hibernate创建以下sql指令 alter table Person add index FKA126572FF5D5DSE (job_id), add constraint FKA126572FF5D5DSE foreign key (job_id) references Job(id) 此sql是在我的数据库中执行的,并且索引存在。我只想删除索引及其关联的约束。 以下各项是否足够 alter table Person drop foreign

我正在使用Hibernate生成我的模式。Hibernate创建以下sql指令

alter table Person add index FKA126572FF5D5DSE (job_id), add constraint FKA126572FF5D5DSE foreign key (job_id) references Job(id)
此sql是在我的数据库中执行的,并且索引存在。我只想删除索引及其关联的约束。 以下各项是否足够

alter table Person drop foreign key FKA126572FF5D5DSE ;

谢谢。

要删除外键及其索引,需要执行以下操作:

alter table t1 drop FOREIGN KEY FKA126572FF5D5DSE;
ALTER TABLE t1 DROP INDEX FKA126572FF5D5DSE;

出于好奇,为什么索引名为FKA126572FF5D5DSE?索引的名称是使用Hibernate默认规则生成的。我不需要有一个特定的名字,如果你想删除索引,你需要显式地这样做。只有当您删除表时,索引也会被隐式删除。@Zaratutra我的drop指令中缺少什么?@Pracede您是否尝试过,但它不起作用,或者您只是出于好奇而询问^^