오류: 제약 조건 이름이 중복되어 테이블을 생성할 수 없습니다.
MySQL 데이터베이스를 WAMP 서버로 포워드 엔지니어링하는 중에 오류가 발생했습니다. "오류 1005: 'aquaticstar.link' 테이블을 생성할 수 없습니다(errno: 121)." 이 오류는 지정된 이름의 테이블이 데이터베이스에 이미 존재함을 나타냅니다.
추가 조사 결과 중복된 제약 조건 이름과 관련된 문제인 것으로 나타났습니다. 특히 Link 테이블에는 다른 테이블에도 있는 id 및 Lesson_id라는 외래 키 제약 조건이 포함되어 있습니다. 이러한 이름 충돌로 인해 데이터베이스가 링크 테이블을 생성할 수 없습니다.
이 문제를 해결하려면 링크 테이블의 외래 키 제약 조건 이름을 고유한 이름으로 바꿔야 합니다. 이는 실행된 스크립트에서 다음 줄을 수정하여 달성할 수 있습니다.
CONSTRAINT `id` FOREIGN KEY (`id` ) REFERENCES `Students` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `lesson_id` FOREIGN KEY (`lesson_id` ) REFERENCES `Schedule` (`lesson_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
예를 들어 id 제약 조건의 이름을 Student_id로 바꾸고 Lesson_id 제약 조건의 이름을 Schedule_lesson_id로 바꿀 수 있습니다.
CONSTRAINT `student_id` FOREIGN KEY (`id` ) REFERENCES `Students` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `schedule_lesson_id` FOREIGN KEY (`lesson_id` ) REFERENCES `Schedule` (`lesson_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
제약 조건의 이름을 바꾼 후 스크립트를 다시 실행하여 링크 테이블을 성공적으로 생성하세요.
위 내용은 제약 조건 이름이 중복되어 MySQL 테이블을 생성할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!