'table_name' 테이블을 생성할 수 없습니다(errno: 121) - MySQL 오류 해결 방법: 테이블을 생성할 수 없습니다. 오류 번호: 121

PHPz
풀어 주다: 2023-10-05 14:03:48
원래의
1881명이 탐색했습니다.

Can't create table 'table_name' (errno: 121) - 如何解决MySQL报错:无法创建表,错误编号:121

'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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿