При попытке создать таблицу с помощью MySQL вы сталкиваетесь с ошибкой 1022: «Невозможно записать; повторяющийся ключ в таблице». Особенность заключается в том, что таблица определяет только один ключ, но ошибка сохраняется.
В ходе расследования выяснилось, что конкретный фрагмент в определении таблицы вызывает ошибку:
CONSTRAINT `error_id`
FOREIGN KEY (`error_id` )
REFERENCES `mydb`.`errors` (`error_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
Хотя аналогичные определения внешнего ключа существуют в других таблицах без проблем, проблема заключается в имени внешнего ключа: error_id.
Основная причина:
Проблема возникает из-за того, что имя внешнего ключа не может совпадать с именем другого внешнего ключа во всей модели базы данных. Это означает, что если две таблицы ссылаются на одну и ту же таблицу, внешние ключи в каждой таблице должны иметь уникальные имена.
Решение:
Чтобы устранить ошибку, просто укажите Внешний ключ, о котором идет речь, имеет другое имя. Например, вы можете назвать его fk_error_id. Это отличит его от любого другого внешнего ключа в модели и позволит MySQL успешно создать таблицу.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3