MySQL: удалить строку, игнорирующую ограничение внешнего ключа.
поэтому я работаю над несколькими таблицами, и между ними существует некоторая несогласованность данных... Одна или две таблицы имеют ограничение внешнего ключа для конкретной таблицы (вызовите ее в таблице X), но эта таблица имеет несколько строк с столбца внешнего ключа.
Что я хочу сделать, так это удалить дублированные строки в таблице X, но ограничение внешнего ключа мешает мне это сделать. Есть ли способ принудительно удалить строки, игнорируя ограничение внешнего ключа, поскольку я знаю, что я делаю?
Ответы
Ответ 1
SET foreign_key_checks = 0;
Это помешает MySQL проверять внешние ключи. Не забудьте установить его обратно в 1, когда вы закончите, хотя.
Кроме того, вы всегда можете удалить внешний ключ, а затем добавить его позже, если вы хотите повлиять только на единственный ключ
ALTER TABLE tableName DROP FOREIGN KEY fk;