MySQL 외래 키 제약 조건 오류: 오류: 오류 1005: 테이블을 생성할 수 없습니다.
문제:
시도 중 데이터베이스 스키마를 WAMP 서버로 전달하기 위해 사용자에게 "ERROR: 오류"가 발생했습니다. 1005: "링크" 테이블에 대해 특별히 "테이블을 생성할 수 없습니다."
해결 방법:
이 오류는 외래 키 관계와 관련된 제약 조건 위반을 나타냅니다. 이 문제를 해결하려면:
-
외래 키 제약 조건 확인: 솔루션에 제공된 SQL 쿼리를 실행합니다.
SELECT
constraint_name,
table_name
FROM
information_schema.table_constraints
WHERE
constraint_type = 'FOREIGN KEY'
AND table_schema = DATABASE()
ORDER BY
constraint_name;
로그인 후 복사
결과를 검사하여 "링크"와 관련된 외래 키 제약 조건을 식별합니다. table.
-
제약 조건 이름 확인: "링크" 테이블의 외래 키 제약 조건이 다른 테이블에 정의된 제약 조건과 이름을 공유하지 않는지 확인하세요. 그렇다면 제약 조건의 이름을 고유한 이름으로 바꾸세요.
-
열 참조 확인: 외래 키 제약 조건에서 참조되는 열이 상위 테이블에 존재하고 호환 가능한 데이터 유형을 가지고 있는지 확인하세요.
-
참조된 테이블 확인: 외래 키 제약 조건에서 참조된 상위 테이블이 실제로 존재하는지 확인하세요. 데이터베이스.
-
구문 재확인: "링크" 테이블 생성에 사용된 SQL 스크립트를 검토하고 구문 오류가 없는지 확인하세요.
-
올바른 열인지 확인하세요. 순서: "링크" 테이블의 열 순서가 상위 테이블의 열 순서와 일치하는지 확인하세요.
-
MySQL 서버 다시 시작: 어떤 경우에는 MySQL 서버를 다시 시작하면 문제가 해결될 수 있습니다.
-
오류 로그 검사: MySQL을 확인하세요. 제약 조건 위반에 대한 자세한 내용은 오류 로그를 참조하세요.
추가 팁:
- 더 쉬운 문제 해결을 위해 설명적 제약 조건 이름을 사용하세요.
- 오류를 최소화하려면 데이터베이스 모델링 도구를 사용하여 스키마 스크립트를 생성하는 것이 좋습니다.
- 테스트 프로덕션 환경에 배포하기 전에 별도의 개발 데이터베이스에 스키마를 저장하세요.
위 내용은 MySQL 오류 1005: 테이블을 생성할 수 없음(외래 키 제약 조건 문제)이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!