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 (только потому, что усечение не совпадает с удалением).

Чтобы решить эту проблему:

  1. Удалить ограничения.
  2. Выполнить TRUNCATE.
  3. Удалите вручную строки, которые теперь имеют ссылки на "никуда".
  4. Создать ограничения.
Другие вопросы по тегам