Вы должны настроить схему таблицы для News
для обработки изменений внешнего ключа с помощью ON DELETE
: либо «установлен в ноль», либо «установлен в значение по умолчанию», или «установлен в конкретное значение», или «удален»,Не уверен, что вы можете делать это по-разному, но если подумать, это было бы безумием: у вас есть ссылочная целостность точно , потому что вы хотите, чтобы ваши отношения строго соблюдались.Случайное изменение их при удалении строки категории полностью противоречит этому.
Намного лучше справиться с этим самостоятельно, сначала UPDATE
с помощью строк, которые будут изменены.
UPDATE News SET id_cat = 2 WHERE id_cat = 3;
DELETE FROM Category WHERE id = 3;
(Я не знаю подходящего метода Symfony / Doctrine, чтобы повлиять на это.)
Доступные параметры зависят от вашей базы данных.Вы всегда можете сказать от ON DELETE CASCADE
до удалить все зависимые строки;другие варианты могут быть или не быть вам доступны.