>  기사  >  데이터 베이스  >  하위 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다. - MySQL 오류 해결 방법: 하위 행에 외래 키 제약 조건이 있습니다.

하위 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다. - MySQL 오류 해결 방법: 하위 행에 외래 키 제약 조건이 있습니다.

王林
王林원래의
2023-10-05 08:22:55840검색

Cannot add or update a child row: a foreign key constraint fails - 如何解决MySQL报错:子行有外键约束

MySQL 오류 해결 방법: 하위 행에 외래 키 제약 조건이 있습니다. 특정 코드 예제가 필요합니다.

MySQL 데이터베이스를 사용할 때 "자식 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다."라는 오류가 발생할 수 있습니다. 이 오류는 일반적으로 데이터를 삽입하거나 업데이트할 때 외래 키 제약 조건 문제를 나타냅니다. 이 문서에서는 이 문제를 해결하는 방법을 설명하고 구체적인 코드 예제를 제공합니다.

먼저 외래 키 제약 조건을 이해해 봅시다. 데이터베이스에서 외래 키는 테이블 간의 연결을 설정하는 데 사용되는 관계입니다. 다른 테이블의 기본 키를 가리키며 데이터 일관성과 무결성을 유지하는 데 사용됩니다. 외래 키 제약 조건은 데이터를 삽입하거나 업데이트할 때 지정된 조건을 충족해야 한다고 제한합니다. 그렇지 않으면 오류가 발생합니다.

"하위 행을 추가하거나 업데이트할 수 없습니다: 외래 키 제약 조건이 실패합니다" 오류가 발생하는 경우 일반적으로 다음 이유 중 하나로 인해 발생합니다.

  1. 외래 키 제약 조건이 있지만 삽입되거나 업데이트된 데이터 제약조건을 만족하지 않습니다.
  2. 외래 키 제약 조건이 있지만 해당 기본 키가 기본 테이블에 존재하지 않습니다.

다음은 몇 가지 일반적인 해결 방법입니다.

  1. 데이터가 외래 키 제약 조건을 충족하는지 확인하세요. 데이터를 삽입하거나 업데이트하기 전에 데이터가 외래 키 제약 조건을 충족하는지 확인하세요. 예를 들어 외래 키가 다른 테이블의 기본 키와 관련된 경우 외래 키 필드에 삽입되거나 업데이트되는 데이터가 기본 테이블에 있어야 합니다.
  2. 메인 테이블에 해당 기본 키가 있는지 확인: 해당 기본 키가 메인 테이블에 없으면 하위 테이블에 데이터를 삽입하거나 업데이트할 때 외래 키 제약 조건 오류가 발생합니다. 이 경우 먼저 해당 기본 키 데이터를 메인 테이블에 삽입한 후 하위 테이블을 삽입하거나 업데이트해야 합니다.

다음은 이 문제를 해결하는 방법을 보여주는 구체적인 코드 예제입니다.

사용자 테이블(users)과 주문 테이블(orders)이라는 두 개의 테이블이 있다고 가정합니다. 사용자 테이블의 기본 키는 사용자 ID(user_id)이고, 주문 테이블의 외래 키는 사용자 테이블을 연결하는 데 사용되는 사용자 ID입니다.

먼저 사용자 테이블을 생성합니다:

CREATE TABLE users(
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL
);

그런 다음 주문 테이블을 생성합니다:

CREATE TABLE 주문(
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
order_date DATE,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);

이제 주문 테이블에 데이터 조각을 삽입하려고 하는데 사용자 ID가 사용자 테이블에 존재하지 않으면 외래 키 제약 조건 오류가 발생합니다. 이 문제를 해결하기 위해 먼저 해당 사용자 데이터를 사용자 테이블에 삽입한 다음 주문 데이터를 삽입할 수 있습니다.

-- 먼저 사용자 데이터 삽입
INSERT INTO users(username) VALUES ('John');

- - 그런 다음 주문 데이터를 삽입하세요
INSERT INTO Orders(user_id, order_date) VALUES (1, '2022-01-01');

위의 샘플 코드를 사용하면 "하위 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패했습니다." 오류가 발생했습니다.

요약하자면, 이 오류를 해결할 때 데이터가 외래 키 제약 조건을 충족하고 해당 기본 키가 메인 테이블에 존재하는지 확인해야 합니다. 데이터와 테이블 구조를 주의 깊게 확인하고 올바른 순서로 데이터를 삽입하거나 업데이트하면 이 문제를 성공적으로 해결할 수 있습니다.

이 문서의 내용이 "하위 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다." 오류를 해결하는 데 도움이 되기를 바랍니다. 유사한 문제가 발생하는 경우 특정 상황에 따라 적절한 해결 방법을 취하고 위의 코드 예제를 참조하십시오. MySQL 데이터베이스 작업에 행운이 있기를 바랍니다!

위 내용은 하위 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다. - MySQL 오류 해결 방법: 하위 행에 외래 키 제약 조건이 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.