Как выводить из строя проверку foreign key (чужеземный ключ) временно?

В MySQL, у меня есть необходимость отсекать пару подмостков, которые связаны, давайте говорить Учитель и Деталь. Если я делаю TRUNCATE Detalle функционируй без проблем, но если я делаю TRUNCATE Maestro меня отпускает следующая ошибка:

ОШИБКА 1701 (42000): Cannot отсеки тебя в table referenced in в foreign key constraint (mybasedatos.detalle, CONSTRAINT detalle_ibfk_1 FOREIGN KEY (idMaestro) REFERENCES mybasedatos.maestro (id))

Я не хочу переместить foreign keys, потому что у подмостков есть тысячи реестров и он может брать много времени. Существует какой-то способ выводить эту проверку чужеземных ключей из строя временно чтобы отлаживать дату и потом реабилитировать это?

Приспособленный:

4
задан 23.05.2017, 15:39
1 ответ

SГ, - возможно. Только нужно менять стоимость глобальной переменной FOREIGN_KEY_CHECKS. Для этого, требуются разрешения администратора в MySQL (как root).

Результат serГ - в:

-- Deshabilitar verificación de llaves foráneas
SET FOREIGN_KEY_CHECKS = 0;
-- Truncar las tablas necesarias
TRUNCATE Detalle;
TRUNCATE Maestro;
-- Rehabilitar verificación de llaves foráneas
-- Este paso es importante, no olvidarlo
SET FOREIGN_KEY_CHECKS = 1;
2
ответ дан 24.11.2019, 12:52