'table_name' 테이블을 생성할 수 없습니다(errno: 121) - MySQL 오류 해결 방법: 테이블을 생성할 수 없습니다. 오류 번호: 121, 특정 코드 예제가 필요합니다.
MySQL 데이터베이스를 사용할 때 가끔 오류가 발생합니다. 121번 문제로 인해 테이블을 생성할 수 없습니다. 이 문제는 특정 오류 메시지 없이는 해결 방법을 찾기 어렵기 때문에 개발자들 사이에서 종종 불만을 불러일으킵니다. 이 문서에서는 이 문제를 해결하는 방법을 설명하고 구체적인 코드 예제를 제공합니다.
우선, 이 오류의 원인을 이해해 봅시다. 오류 번호 121은 일반적으로 외래 키 제약 조건으로 인해 발생합니다. 테이블에 외래 키를 생성하려고 할 때 테이블의 기본 키와 외래 키 정의가 충돌하는 경우 MySQL은 오류를 보고하고 "Can't create table 'table_name'(errno: 121)"을 표시합니다. 따라서 이 문제를 해결하기 위해서는 외래키 제약조건을 확인하고 수정해야 합니다.
다음은 이 문제를 해결하는 단계와 코드 예제입니다.
1단계: 문제가 있는 외래 키 제약 조건 찾기
먼저, 문제를 일으키는 테이블의 외래 키 제약 조건을 찾아야 합니다. 다음 명령을 사용하여 문제가 있는 테이블을 찾을 수 있습니다.
SHOW ENGINE INNODB STATUS;
이 명령을 실행하면 자세한 디버깅 정보가 포함된 결과를 볼 수 있습니다. 이 결과에서 "최신 교착 상태:" 줄을 찾아야 하며, 구체적인 오류 메시지가 아래에 나열됩니다. 오류 메시지에서 "외래 키 제약 조건이 잘못 구성되었습니다."는 일반적으로 외래 키 제약 조건이 문제의 원인임을 의미합니다.
2단계: 외래 키 제약 조건 수정
문제가 있는 외래 키 제약 조건이 발견되면 테이블 구조를 수정하여 이를 수정해야 합니다. 다음은 몇 가지 일반적인 해결 방법입니다.
방법 1: 기본 키와 외래 키의 데이터 유형이 일치하는지 확인하세요.
기본 키와 외래 키의 데이터 유형이 일치해야 합니다. 그렇지 않으면 오류 번호 121이 발생합니다. 기본 키와 외래 키의 데이터 유형이 동일한지 확인하세요.
샘플 코드:
CREATE TABLE table1 ( id INT PRIMARY KEY ); CREATE TABLE table2 ( id INT, table1_id INT, FOREIGN KEY (table1_id) REFERENCES table1(id) );
방법 2: 외래 키와 참조 테이블의 필드가 일치하는지 확인하세요
외래 키가 참조하는 필드가 참조 테이블에 존재해야 하며, 필드 유형이 일치해야 합니다. 외래 키와 참조 테이블의 필드 이름과 유형이 일치하는지 확인하세요.
샘플 코드:
CREATE TABLE table1 ( id INT PRIMARY KEY ); CREATE TABLE table2 ( table1_id INT, FOREIGN KEY (table1_id) REFERENCES table1(id) );
방법 3: 테이블 생성 순서 확인
여러 테이블 사이에 외래 키 제약 조건이 있는 상황이 발생하는 경우 생성하는 테이블의 순서가 올바른지 확인해야 합니다. 외래키 생성 시 기존 테이블을 참조할 수 있도록 올바른 순서로 테이블을 생성해 주시기 바랍니다.
샘플 코드:
CREATE TABLE table1 ( id INT PRIMARY KEY ); CREATE TABLE table2 ( id INT PRIMARY KEY, table1_id INT, FOREIGN KEY (table1_id) REFERENCES table1(id) );
3단계: 테이블 다시 만들기
위의 복구 단계를 완료한 후 문제가 있는 테이블을 다시 만들 수 있습니다. CREATE TABLE 문을 실행하여 테이블을 생성하고 오류가 다시 보고되지 않는지 확인하세요.
요약:
MySQL이 "Can't create table 'table_name'(errno: 121)" 오류를 보고하는 경우 이는 일반적으로 외래 키 제약 조건으로 인해 발생합니다. 기본키와 외래키의 데이터 타입이 일치하는지, 외래키와 참조 테이블의 필드가 일치하는지, 테이블이 생성되는 순서를 확인하면 이 문제를 해결할 수 있다. 이 문서에서는 이 문제를 해결하는 데 도움이 되기를 바라는 특정 코드 예제를 제공합니다.
위 내용은 'table_name' 테이블을 생성할 수 없습니다(errno: 121) - MySQL 오류 해결 방법: 테이블을 생성할 수 없습니다. 오류 번호: 121의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!