MySQL удалить нормально, но обрезать не удалось
У меня есть таблица "student" и таблица "student", которая ссылается на "student", когда я пытался УДАЛИТЬ какие-либо данные, это нормально, но когда я пытаюсь их обрезать, произошел сбой с сообщением:
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`testdb`.`evaluation`, CONSTRAINT `fk_relationship_18` FOREIGN KEY (`stu_id`) REFERENCES `testdb`.`student` (`id`))
она показывает ту же ошибку, даже когда таблица ученика пуста.. есть ли причина, почему это происходит? или я должен Google, как сбросить автоприращение вручную.
1 ответ
Решение
Вы не можете TRUNCATE таблицы, для которой есть ограничение FK (только потому, что усечение не совпадает с удалением).
Чтобы решить эту проблему:
- Удалить ограничения.
- Выполнить TRUNCATE.
- Удалите вручную строки, которые теперь имеют ссылки на "никуда".
- Создать ограничения.