외래 키를 사용하여 테이블을 생성할 때 MySQL 오류 1022가 발생하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-28 02:39:02
원래의
243명이 탐색했습니다.

Why Am I Getting MySQL Error 1022 When Creating a Table with Foreign Keys?

MySQL 오류 1022: 근본 원인 파악

테이블 생성은 데이터베이스 설계의 기본이지만 때로는 예상치 못한 오류가 발생할 수 있습니다. 이러한 오류 중 하나는 악명 높은 MySQL 오류 1022로, 중복 키가 있는 테이블을 생성하려고 할 때 자주 발생합니다.

최근 사용자가 MySQL Workbench를 사용하여 'errors_reports' 테이블을 생성하는 동안 이 오류가 발생했습니다. . 테이블이 유효한 것처럼 보임에도 불구하고 MySQL은 중복 키가 존재한다는 이유로 이를 완강히 거부했습니다.

유발 키 검색

문제가 되는 키를 시각적으로 찾을 수 없습니다. 사용자는 테이블 정의의 요소를 공들여 제거하여 궁극적으로 범인을 격리했습니다. '오류' 테이블을 참조하는 외래 키 제약 조건입니다.

동일한 외래 키의 흥미로운 사례

이상하게도 사용자는 문제 없이 다른 테이블에서 동일한 외래 키 정의를 접했습니다. 그러나 이 경우 MySQL은 중복을 허용하지 않았습니다.

Unmasking the Con충돌

이 당혹스러운 딜레마에 대한 해결책은 외래 키 명명 규칙 개념에 있습니다. 결과적으로 외래 키는 데이터베이스 내에서 동일한 이름을 공유할 수 없습니다. 이는 MySQL이 참조가 가리키는 테이블과 열을 결정하기 위해 외래 키 이름을 사용하기 때문입니다. 여러 외래 키에 동일한 이름을 할당하면 혼란과 모호함이 발생할 수 있습니다.

더 명확한 테이블 생성 경로

오류를 해결하고 'errors_reports'를 성공적으로 생성하려면 테이블에서 사용자는 문제가 되는 외래 키의 이름을 조정했습니다. 외래 키 이름이 고유하도록 함으로써 사용자는 MySQL의 명명 규칙을 충족하고 성공적인 테이블 생성을 위한 기반을 마련했습니다.

위 내용은 외래 키를 사용하여 테이블을 생성할 때 MySQL 오류 1022가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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