"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > "외래 키 제약 조건에 사용된 열을 변경할 수 없습니다" 오류를 수정하는 방법?

"외래 키 제약 조건에 사용된 열을 변경할 수 없습니다" 오류를 수정하는 방법?

2024년 11월 10일에 게시됨
검색:190

How to Fix

문제 해결: "외래 키 제약 조건에 사용된 열을 변경할 수 없습니다" 오류 해결

테이블을 수정하려고 하면 다음과 같은 문제가 발생할 수 있습니다. 오류 "'column_name' 열을 변경할 수 없습니다: 외래 키 제약 조건에 사용되었습니다." 이 오류는 해당 열이 외래 키 제약 조건에서 참조되며 이를 변경하면 데이터베이스의 참조 무결성이 손상될 수 있음을 나타냅니다.

이 문제를 해결하려면 다음 단계를 따르세요.

1. 오류 이해:

오류 메시지는 두 가지 중요한 정보를 제공합니다.

  • 질문의 열: 오류를 표시할 수 없는 열의 이름 변경될 수 있습니다.
  • 외래 키 제약 조건: 참조하는 외래 키 제약 조건의 이름입니다. 열.

2. CREATE TABLE 문 검사:

원본 CREATE TABLE 문을 검사하여 외래 키 제약 조건과 해당 세부 정보를 식별합니다. 제공된 시나리오에서 제약 조건의 이름은 "fk_fav_food_person_id"이며 "favorite_food" 테이블의 "person_id" 열을 참조합니다.

3. 외래 키 검사 비활성화(주의!):

외래 키 제약 조건과 관련된 열을 수정하려면 외래 키 검사를 일시적으로 비활성화할 수 있습니다. 이는 잠재적으로 위험한 작업이므로 주의를 기울이고 데이터베이스를 백업하는 것이 중요합니다. 외래 키 확인을 비활성화하려면 다음 문을 사용합니다.

SET FOREIGN_KEY_CHECKS = 0;

4. 변경 수행:

외래 키 확인이 비활성화되면 원하는 변경을 진행할 수 있습니다. 제공된 예에서 이제 다음 문을 사용하여 person_id 열을 자동 증가 값으로 수정할 수 있습니다.

ALTER TABLE person MODIFY person_id SMALLINT UNSIGNED AUTO_INCREMENT;

5. 외래 키 검사 다시 활성화:

필요한 변경을 수행한 후 데이터베이스 무결성을 유지하려면 외래 키 검사를 다시 활성화해야 합니다.

SET FOREIGN_KEY_CHECKS = 1;

주의 사항:

다음 사항을 기억하는 것이 중요합니다. 외래 키 검사를 비활성화하면 주의 깊게 처리하지 않으면 심각한 결과를 초래할 수 있습니다. 외래 키 관계와 관련된 테이블에서 행을 추가하거나 제거하면 데이터 무결성이 손상될 수 있습니다. 따라서 변경 사항을 프로덕션 시스템에 배포하기 전에 개발 환경에서 철저하게 테스트하는 것이 중요합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3