Отключите ограничения внешнего ключа в MySQL и временно отмените ссылочную целостность

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

  1. Временное отключение:

    SET FOREIGN_KEY_CHECKS = 0;

    Этот запрос отключит проверки внешнего ключа для текущего сеанса, что позволит вам выполнять операции без применения ограничений внешнего ключа. Не забудьте включить его снова, установив значение 1 (SET FOREIGN_KEY_CHECKS = 1;), когда закончите.

  2. Изменить таблицу.
    Вы также можете отключить определенное ограничение внешнего ключа, изменив таблицу и временно удалив ограничение. После внесения изменений вы можете добавить ограничение обратно. Вот пример:

    -- Disable foreign key constraint
    ALTER TABLE table_name DROP FOREIGN KEY constraint_name;
    -- Perform your operations
    -- Enable foreign key constraint
    ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES reference_table (reference_column);
  3. Установить глобальную переменную.
    Изменение глобальной переменной foreign_key_checksтакже может отключить ограничения внешнего ключа для всех сеансов. Вот как это можно сделать:

    -- Disable foreign key constraints
    SET GLOBAL foreign_key_checks = 0;
    -- Perform your operations
    -- Enable foreign key constraints
    SET GLOBAL foreign_key_checks = 1;