본문 바로가기
Database/mysql

[MySQL]Error Code: 3813. Column check constraint 'tablename_chk_2' references other column.

by JINJINC 2024. 7. 3.
728x90
반응형

table 생성시 해당 문제가 발생했습니다.

저의 경우 column 명이 잘못 적혀있어기 때문에 이 문제가 발생하였다,

 

# 에러 발생
create table user5 (
	seq int primary key auto_increment,
    name varchar(10) not null,
    gender char(1) check (gender IN('M','F')),
    age int default 1 check (age > 0 AND  a < 120),
    addr varchar(50)
);

 

=> 에러가 발생한 부분은 ch2부분이므로 두번째 chk 사항인 age 부분에서 잘못된 부분을 찾아봤다.

나의 문제는 age를 a 로 적혀있었기 때문에 column이 잘못되어 에러가 발생함 

a-> age로 변경시 잘 작동됨.

#정상 실행
create table user5 (
	seq int primary key auto_increment,
    name varchar(10) not null,
    gender char(1) check (gender IN('M','F')),
    age int default 1 check (age > 0 AND  age < 120),
    addr varchar(50)
);

 

 

#check1부분에서 오류발생
create table user5 (
	seq int primary key auto_increment,
    name varchar(10) not null,
    gender char(1) check (g IN('M','F')),
    age int default 1 check (age > 0 AND  age < 120),
    addr varchar(50)
);

 

에러 메세지가 

10:47:12 create table user5 (  seq int primary key auto_increment,     name varchar(10) not null,     gender char(1) check (g IN('M','F')),     age int default 1 check (age > 0 AND  age < 120),     addr varchar(50) ) Error Code: 3813. Column check constraint 'user5_chk_1' references other column. 0.000 sec

chk_1이라고 뜬 에러를 봤을때 잘못된 부분을 찾으려면 table에서 첫번째 check 부분의 column을 확인하면 된다. 

 

 

조금더 자세한 사항을 확인하고싶다면

아래의 mysql 사이트에서 확인해볼수 있다.

MySQL :: MySQL 8.0 레퍼런스 매뉴얼 :: 15.1.20.6 CHECK 제약 조건

728x90
반응형

댓글