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

Аватара пользователя
Distructor
Администратор
Сообщения: 1600
Зарегистрирован: 28 дек 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
Администратор
Сообщения: 328
Зарегистрирован: 17 май 2010
Добавлю, что в PhpMyAdmin эту фитчу можно применять автоматически. Например, при удалении таблиц.
Вложения
e52e6e0a45.png
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"


Вернуться в «Другие инструкции»