Ответ 1
Вам нужно удалить FK, если вы хотите использовать truncate
, как обрезать не занесенную в журнал операцию.
Можно использовать delete
с FK на месте, но удаление - это зарегистрированная операция и занимает больше времени.
У меня много таблиц с ограничениями отношений. Таблицы содержат полные фиктивные данные, я хотел бы усекать/очищать данные из таблиц, сохраняя структуру.
Каждый раз, когда я хочу очистить таблицу, я получаю ошибки ограничения внешнего ключа. Что я могу сделать, чтобы временно отключить ограничение, а затем установить его обратно после удаления фиктивных данных.
Я пробовал это решение, но не работает! Как только я отключу, попробуйте обрезать, я получаю ошибку ограничения fk...
//disable
SET FOREIGN_KEY_CHECKS = 0;
//enable
SET FOREIGN_KEY_CHECKS = 1;
Я использую MySQL.
Любая идея?
Вам нужно удалить FK, если вы хотите использовать truncate
, как обрезать не занесенную в журнал операцию.
Можно использовать delete
с FK на месте, но удаление - это зарегистрированная операция и занимает больше времени.
Начните с конца (таблицы только FK) и не ссылайтесь на какие-либо другие рассказы. Те, кого вы можете усечь. Затем проведите свой путь и удалите. Если вы усекаете/удаляете в правильном порядке, вы не будете нарушать противопоказания. Или вы могли бы сбросить все постоянные. Усекайте таблицы. Затем добавьте отпечатки.