테이블을 생성할 수 없음 오류: 문제 해결 "오류 코드: 1005. '...' 테이블을 생성할 수 없습니다."
이것은 MySQL의 오류는 테이블을 생성하려고 시도했지만 오류 코드 1005로 표시되는 문제가 발생할 때 발생합니다. 특정 문제는 외래 키와 관련됩니다. 참조.
잠재적 원인:
-
일치하지 않는 키 필드: 참조된 키 필드의 유형과 크기가 올바른지 확인하세요. 테이블은 외래 키 필드와 정확히 일치합니다. 크기 불일치(예: INT 대 BIGINT) 또는 서명/비서명 상태를 확인하세요.
-
인덱스 누락 또는 비기본 키: 그렇지 않은 경우 참조 키 필드에 인덱스를 생성하세요. '이(가) 없거나 기본 키가 아닙니다.
-
외래 키가 중복되었습니다. 이름: 외래 키 이름이 데이터베이스 내에서 고유한지 확인하세요. 이를 테스트하려면 키 이름 끝에 임의의 문자를 추가하세요.
-
InnoDB가 아닌 테이블 유형: 외래 키 관계에서는 두 테이블이 모두 InnoDB 유형이어야 합니다. MyISAM 테이블을 InnoDB로 변환합니다.
-
NULL 제약 충돌: cascade ON DELETE SET NULL을 사용하는 동안 참조되는 키 필드에 NOT NULL 제약이 없는지 확인하세요. 필요한 경우 NULL 값을 허용합니다.
-
문자 집합/데이터 정렬 불일치: 두 테이블과 해당 키 열 모두 동일한 문자 집합과 데이터 정렬 설정을 사용하는지 확인하세요.
-
기본값 외래 키 값: 외래 키 열에 설정된 기본값을 제거하세요. 참조.
-
개별 인덱스가 없는 복합 키: 이미 복합의 일부로 인덱싱된 경우에도 복합 키에 사용된 각 키 필드에 대해 별도의 인덱스를 생성합니다.
-
잘못된 구문 또는 잘못 입력된 필드 이름: ALTER 문의 구문을 확인하고 필드 이름에 오타가 있는지 확인하세요.
-
외래 키 이름 길이 제한 초과: 외래 키 이름은 64자 이내여야 합니다.
자세한 내용과 잠재적인 해결책은 MySQL 문서: MySQL 오류 번호 1005 테이블을 생성할 수 없음을 참조하십시오.
위 내용은 MySQL Error 1005를 얻는 이유 : 테이블을 만들 수 없습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!