При удалении ограничить MySQL не работает - PullRequest
2 голосов
/ 07 марта 2012

Я хочу запретить удаление из родительской таблицы, когда у него есть дочерние элементы в других таблицах.

Я делаю так

ALTER TABLE constant_det_tb 
ADD CONSTRAINT fk_idparent
FOREIGN KEY (idparent)
REFERENCES constant_tb(id) ON DELETE RESTRICT

Когда я удаляю из родительской таблицы constant_tb, она удаляет строки, даже если у таблицы есть ссылка на другую таблицу, и у нее есть ссылки на нее.

1 Ответ

2 голосов
/ 07 марта 2012

Убедитесь, что у вас есть InnoDB в качестве механизма хранения для всех затронутых таблиц.

Проверьте это (если еще не было): http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

ON DELETE RESTRICT 

- это все, что вам нужно для достижения справочной опцииэто.

...