작성
·
315
0
안녕하세요 mysql를 하던 중에 failed to open the referenced table가 계속 나와서 당황해서 어떻게 해야 할 지 모르겠어요.
create table EMPLOYEE(
id int primary key,
name varchar(30) not null,
birth_date DATE,
sex char(1) check(sex in ('m','w')),
position varchar(10),
salary int default 50000000,
dept_id int,
foreign key (dept_id) references DEPARTMENT(id)
on delete SET NULL on update cascade,
check(salary>= 50000000)
);
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. MySQL 오류에 대해 답변해드릴게요.
“Failed to open the referenced table” 오류는 테이블이나 뷰를 참조하는 FOREIGN KEY 제약 조건에 실패한 경우에 나타날 수 있습니다.
이 경우, “REFERENCES DEPARTMENT(id)” 구문에서 DEPARTMENT 테이블이 존재하지 않거나, DEPARTMENT 테이블에 id 열이 존재하지 않는 것 같습니다. 오류가 발생한 이유는 이 두 가지 중 하나일 가능성이 있습니다.
먼저, DEPARTMENT 테이블이 존재하는지 확인해보시고, id 열이 있는지도 확인해보세요. 만약 테이블이 존재하지 않거나 열이 없다면, 해당 오류가 나타날 수 있습니다.
또한, 테이블 이름이나 열 이름이 대소문자가 일치하지 않는 경우에도 오류가 발생할 수 있습니다. MySQL은 대소문자를 구분하기 때문에, 테이블 이름과 열 이름이 정확히 일치해야 합니다. 확인해보시고, 이름이 일치하지 않는다면 수정해주세요.
만약 위의 확인 작업을 통해 오류를 해결할 수 없다면, 자세한 오류 메시지와 함께 더 많은 정보를 제공해주시면 더 정확한 도움을 드릴 수 있을 것 같아요. 감사합니다.