강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

OMG님의 프로필 이미지
OMG

작성한 질문수

윤재성의 처음 시작하는 MySQL DataBase

제약조건 질문있습니다.

해결된 질문

작성

·

405

0

강의 후반부에

create table test_table50(

data1 int not null,

data2 int not null,

constraint chk1 check (data1 > 10),

constraint chk2 check (data2 in(10,20,30))

);

insert into test_table50(data1, data2) values(20,30);

select * from test_table50;

insert into test_table50(data1, data2) values(1, 100);

저같은 경우는 마지막에 insert가 안되는데 강의에서는 1,100이 삽입되는데요.

설명하신 바로는 다른db는 check 제약조건을 무시되지 않지만 mysql은 무시가 된다고 하셨는데 

제 에러 메시지에는

아래와 같이 에러메시지가 출력되서요.

이유를 알 수 있을까요?

0 121 23:41:27 insert into test_table50(data1, data2) values(1, 100) Error Code: 3819. Check constraint 'chk1' is violated. 0.000 sec

답변 1

0

nury님의 프로필 이미지
nury
지식공유자

안녕하세요...

강의 촬영시 사용했던 MySQL 버전은 5.7 이고 현재는 8.0 버전입니다.

버전이 업데이트 되면서 check 제약조건도 잘 동작하는 것으로 변경되었습니다.

하지만 프로젝트에서 항상 최신버전을 이용하는 것은 아니기 때문에 과거 버전의 내용도 알아두시면 좋습니다.

프로젝트때 사용하시는 버전을 확인하시고 check 제약조건 사용 여부를 결정해주시면 되겠습니다. 감사합니다^^

OMG님의 프로필 이미지
OMG

작성한 질문수

질문하기