2014-09-25 4 views
0

Я использую Hibernate для генерации моей схемы. Hibernate создать следующую SQL ИНСТРУКЦИЯКак удалить мой внешний ключ в базе данных?

alter table Person add index FKA126572FF5D5DSE (job_id), add constraint FKA126572FF5D5DSE foreign key (job_id) references Job(id) 

Этот SQL был выполнен в моей базе данных, а индекс exists.I хотел бы просто удалить индекс и связанное с ним ограничение. Достаточно ли этого?

alter table Person drop foreign key FKA126572FF5D5DSE ; 

Спасибо.

+0

Из любопытства, почему это индекс называется FKA126572FF5D5DSE? – artm

+0

Имя индекса создается с использованием правил по умолчанию Hibernate. Мне не нужно иметь определенное имя. – Pracede

+0

Если вы хотите также удалить индекс, вам нужно сделать это явно. Только если вы отбросите таблицу, индекс также будет опущен неявно. – zaratustra

ответ

0

Чтобы удалить внешний ключ и его индекс вам нужно выполнить:

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

SQLFiddle

+0

Я сделал это, увидев мои комментарии, спасибо – Pracede

Смежные вопросы