Подтвердить что ты не робот

MySQL: удалить строку, игнорирующую ограничение внешнего ключа.

поэтому я работаю над несколькими таблицами, и между ними существует некоторая несогласованность данных... Одна или две таблицы имеют ограничение внешнего ключа для конкретной таблицы (вызовите ее в таблице X), но эта таблица имеет несколько строк с столбца внешнего ключа.

Что я хочу сделать, так это удалить дублированные строки в таблице X, но ограничение внешнего ключа мешает мне это сделать. Есть ли способ принудительно удалить строки, игнорируя ограничение внешнего ключа, поскольку я знаю, что я делаю?

4b9b3361

Ответ 1

SET foreign_key_checks = 0;

Это помешает MySQL проверять внешние ключи. Не забудьте установить его обратно в 1, когда вы закончите, хотя.

Кроме того, вы всегда можете удалить внешний ключ, а затем добавить его позже, если вы хотите повлиять только на единственный ключ

ALTER TABLE tableName DROP FOREIGN KEY fk;