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



Если таблица содержит внешние ключи, то при очистке при помощи TRUNCATE или каких-то других операциях, может возникнуть ошибка типа такой
Cannot truncate a table referenced in a foreign key constraint
Таблица не может быть очищена, так как в ней есть внешние ключи и связь может быть нарушена. Чтобы не ломать структуру, MySQL проводит проверку foreign keys и выдаёт вот такую ошибку. Если вы уверены в правильности своих действий, то для того, чтобы принудительно очистить таблицу, мы можем отключить проверку внешних ключей. Понятное дело, что по завершению наших манипуляций, надо вернуть проверку на место.
SET foreign_key_checks = 0;
TRUNCATE TABLE `tablename`;
SET foreign_key_checks = 1;




Комментарии



Егор, 18.09.2014
большое человеческое спасибо, долго мучился.
Екатерина, 15.12.2014
Спасибо!
Иван, 03.02.2015
Большое спасибо, что делитесь опытом!
ААААА, 23.07.2015
ААА СПАСИБО
Сергей, 06.04.2016
Спасибо! Реально помогло. Удобнее и быстрее ))
Добавить комментарий:
Ваше имя:


Сайт:



Текст комментария:
Код с картинки: