Удаление любой записи о них сообщит об ошибке, подобной этой:
ОШИБКА 1451 (23000): не удается удалить или обновить родительскую строку: ограничение внешнего ключа не работает
Как преодолеть эту проблему?
Удаление любой записи о них сообщит об ошибке, подобной этой:
ОШИБКА 1451 (23000): не удается удалить или обновить родительскую строку: ограничение внешнего ключа не работает
Как преодолеть эту проблему?
Выберите запись, которая позволяет вставлять null
s в столбец FK, вставьте ее туда, удалите другую запись, а затем удалите первую.
либо
ON DELETE CASCADE
или вставьте NULL для одного из FK, если это возможно в вашей схеме, не можете предоставить дополнительную информацию, не зная поставщика.
если ваш столбец AllowNull, обновите его данные до нуля, а затем удалите данные.
Если обе таблицы ссылаются друг на друга по внешнему ключу, весьма вероятно, что дизайн базы данных нуждается в улучшении. Я думаю, это должно вызвать дополнительную таблицу, чтобы позаботиться об этом дизайне.
По вашему вопросу вы можете обновить поле ключа FK в одной таблице, чтобы оно было нулевым, а затем запустить удаление в обеих таблицах.
Но чтобы это произошло, убедитесь, что вы заранее идентифицировали оба PK, чтобы их можно было удалить.