>데이터 베이스 >MySQL 튜토리얼 >MySQL 오류 1005: 테이블을 생성할 수 없음(외래 키 제약 조건 문제)이 발생하는 이유는 무엇입니까?

MySQL 오류 1005: 테이블을 생성할 수 없음(외래 키 제약 조건 문제)이 발생하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-30 12:01:11225검색

Why Am I Getting MySQL Error 1005: Can't Create Table  (Foreign Key Constraint Issue)?

MySQL 외래 키 제약 조건 오류: 오류: 오류 1005: 테이블을 생성할 수 없습니다.

문제:

시도 중 데이터베이스 스키마를 WAMP 서버로 전달하기 위해 사용자에게 "ERROR: 오류"가 발생했습니다. 1005: "링크" 테이블에 대해 특별히 "테이블을 생성할 수 없습니다."

해결 방법:

이 오류는 외래 키 관계와 관련된 제약 조건 위반을 나타냅니다. 이 문제를 해결하려면:

  1. 외래 키 제약 조건 확인: 솔루션에 제공된 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.

  2. 제약 조건 이름 확인: "링크" 테이블의 외래 키 제약 조건이 다른 테이블에 정의된 제약 조건과 이름을 공유하지 않는지 확인하세요. 그렇다면 제약 조건의 이름을 고유한 이름으로 바꾸세요.
  3. 열 참조 확인: 외래 키 제약 조건에서 참조되는 열이 상위 테이블에 존재하고 호환 가능한 데이터 유형을 가지고 있는지 확인하세요.
  4. 참조된 테이블 확인: 외래 키 제약 조건에서 참조된 상위 테이블이 실제로 존재하는지 확인하세요. 데이터베이스.
  5. 구문 재확인: "링크" 테이블 생성에 사용된 SQL 스크립트를 검토하고 구문 오류가 없는지 확인하세요.
  6. 올바른 열인지 확인하세요. 순서: "링크" 테이블의 열 순서가 상위 테이블의 열 순서와 일치하는지 확인하세요.
  7. MySQL 서버 다시 시작: 어떤 경우에는 MySQL 서버를 다시 시작하면 문제가 해결될 수 있습니다.
  8. 오류 로그 검사: MySQL을 확인하세요. 제약 조건 위반에 대한 자세한 내용은 오류 로그를 참조하세요.

추가 팁:

  • 더 쉬운 문제 해결을 위해 설명적 제약 조건 이름을 사용하세요.
  • 오류를 최소화하려면 데이터베이스 모델링 도구를 사용하여 스키마 스크립트를 생성하는 것이 좋습니다.
  • 테스트 프로덕션 환경에 배포하기 전에 별도의 개발 데이터베이스에 스키마를 저장하세요.

위 내용은 MySQL 오류 1005: 테이블을 생성할 수 없음(외래 키 제약 조건 문제)이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.