본문 바로가기
MySql

MySQL 오류 1452 MySQL

by 베이스 공부 2020. 12. 17.
반응형

빈 테이블에 데이터를 삽입했지만 오류 1452가 발생했습니다. MySQL이 오류 내에 NameInfo 테이블을 언급하는 이유를 잘 모르겠습니다.

CREATE TABLE NameInfo (
Language VARCHAR(7) NOT NULL,
Status VARCHAR(13) NOT NULL, 
Standard VARCHAR(13) NOT NULL, 
Name VARCHAR(13) NOT NULL, 
Name_ID INT(4) NOT NULL, 
Place_ID INT(9) NOT NULL, 
Supplier_ID INT(4) NOT NULL, 
Date_Supplied DATE NOT NULL, 
PRIMARY KEY (Name_ID),
FOREIGN KEY (Supplier_ID) REFERENCES Supplier(Supplier_ID),
FOREIGN KEY (Place_ID) REFERENCES Place(Place_ID) 
);


CREATE TABLE Departments ( 
Dept_ID INT(6) NOT NULL,
Dept_NAME VARCHAR(25) NOT NULL, 
DeptHead_ID INT(6) NOT NULL,
DeptAA VARCHAR(20) NOT NULL, 
ParentDept_ID INT(4) NOT NULL,
Location VARCHAR(10) NOT NULL, 
DeptType VARCHAR(12) NOT NULL, 
Primary key (Dept_ID)
); 

CREATE TABLE Employee ( 
Emp_ID INT(6) NOT NULL, 
Name VARCHAR(15) NOT NULL,
Dept_ID INT(6) NOT NULL, 
Tax_ID INT(4) NOT NULL, 
Country VARCAR(15) NOT NULL, 
Hire_Date DATE NOT NULL,
Birth_Date DATE NOT NULL, 
Salary INT(6) NOT NULL, 
Bonus INT(6) NOT NULL,
AddressInfo VARCHAR(30) NOT NULL,
PRIMARY KEY(Emp_ID),
FOREIGN KEY(Dept_ID) REFERENCES Departments(Dept_ID)
); 

상위 테이블, Departments, 하위 테이블, Employee 앞에 데이터를 삽입했습니다.

INSERT INTO Departments
VALUES (040124,'Human Resource Division',405802,'Mohammed Siddiqui',1001,'California','HR');

INSERT INTO Employee
VALUES (901126,'Kenneth Tran',040126,3013,'United States',06/01/2013,06/01/1992,80430,500,'N. 2nd St. Santa Clara, CA.');

ERROR 1452 (23000): Cannot add or update a child: a foreign key constraint fails     ('namesinc'_'employee', CONSTRAINT 'employee-ibfk_1 'FOREIGN KEY ('Dept_ID') REFERENCES 'DEPARTMENTS' ('DEPT_ID'))

추가 정보를 제공 할 수 있는지 알려주십시오.

 

해결 방법

 

오류 1452는 외래 키 제약 조건을 준수 할 수 없기 때문에 삽입에 실패했음을 나타냅니다.

쿼리가 Departments 테이블을 참조하는 외래 키 제약 조건이있는 Employee 테이블에 데이터를 삽입하고 있습니다. Department 항목이 설정되지 않은 경우 Employeee 행이 삽입을 참조하도록 설정하면 실패합니다.

먼저 Departments 항목을 삽입해야합니다. 그렇지 않으면 Employee 삽입이이 테스트에 실패합니다.

 

참조 페이지 https://stackoverflow.com/questions/20028196

 

 

반응형

댓글