Отключение проверки внешних ключей в MySQL

Ответить
Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
Иногда во время тестов внешние ключи мешают изменять данные:

Код: Выделить всё

ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint

Код: Выделить всё

ERROR 1217 (23000): Cannot delete or update parent row: a foreign key constraint fails
в этом случае можно временно отключить проверку внешних ключей:

Код: Выделить всё

-- отключаем проверку
SET foreign_key_checks = 0; 

-- выполняем нужные запросы
DELETE FROM downloads WHERE id = 59;

-- включаем проверку назад
SET foreign_key_checks = 1; 

Аватара пользователя
AgentSIB
Сообщения: 329
Зарегистрирован: 17.05.2010
Добавлю, что в PhpMyAdmin эту фитчу можно применять автоматически. Например, при удалении таблиц.
Вложения
e52e6e0a45.png
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"

Ответить