전달 중 "오류 1005: 'aquaticstar.link' 테이블을 생성할 수 없습니다" 오류 발생 엔지니어링은 실망스러울 수 있습니다. 근본 원인을 조사하고 해결책을 찾아보겠습니다.
오류 메시지는 MySQL이 'aquaticstar' 데이터베이스 내에 'Link'라는 테이블을 생성할 수 없음을 나타냅니다. 이 오류가 발생할 수 있는 한 가지 이유는 데이터베이스에 동일한 이름을 가진 테이블이 이미 존재할 수 있기 때문입니다. 이를 확인하려면 다음 SQL 쿼리를 실행하면 됩니다.
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Link';
쿼리가 결과를 반환하면 'Link'라는 테이블이 이미 존재한다는 의미입니다. 이 경우 기존 테이블을 삭제하거나 새 테이블에 대해 다른 이름을 선택할 수 있습니다.
그러나 쿼리에서 결과가 반환되지 않으면 'Link' 테이블이 데이터베이스에 존재하지 않는 것입니다. . 이 시나리오에서는 잠재적인 문제를 식별하기 위해 제공한 SQL 스크립트를 仔细检查해야 합니다.
스크립트를 검토한 결과 'Link' 테이블의 'id'에 FOREIGN KEY 제약 조건이 있는 것으로 나타났습니다. 'Students' 테이블을 참조하는 열입니다. 마찬가지로 'Schedule' 테이블을 참조하는 'lesson_id' 열에 또 다른 FOREIGN KEY 제약 조건이 있습니다.
'Students' 또는 'Schedule' 테이블이 데이터베이스에 없을 수도 있습니다. '링크' 테이블을 생성하기 전에 이러한 테이블을 생성하려면 다음 SQL 문을 실행하세요.
CREATE TABLE Students ( id VARCHAR(10) NOT NULL, studentName VARCHAR(45) NOT NULL, gender CHAR NOT NULL, birthDate DATETIME NOT NULL, mNo VARCHAR(10) NOT NULL, contactName VARCHAR(45) NOT NULL, contactEmail VARCHAR(45) NOT NULL, contactPhone INT(10) NOT NULL, startDate DATETIME NOT NULL, remarks VARCHAR(200) NULL, PRIMARY KEY (id) ) ENGINE=InnoDB; CREATE TABLE Schedule ( lesson_id VARCHAR(10) NOT NULL, day VARCHAR(3) NOT NULL, branch VARCHAR(30) NOT NULL, level VARCHAR(30) NOT NULL, time TIME NOT NULL, ae VARCHAR(45) NOT NULL, PRIMARY KEY (lesson_id) ) ENGINE=InnoDB;
이러한 테이블을 생성한 후 스크립트를 다시 실행하여 '링크' 테이블을 생성할 수 있습니다. 여전히 동일한 오류가 발생하는 경우 관련 테이블의 구조와 제약 조건을 확인하여 예상 동작과 일치하는지 확인하는 것이 좋습니다.
위 내용은 내 MySQL 데이터베이스에 \'Link\' 테이블을 생성할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!