제약조건 질문있습니다.
강의 후반부에
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
안녕하세요...
강의 촬영시 사용했던 MySQL 버전은 5.7 이고 현재는 8.0 버전입니다.
버전이 업데이트 되면서 check 제약조건도 잘 동작하는 것으로 변경되었습니다.
하지만 프로젝트에서 항상 최신버전을 이용하는 것은 아니기 때문에 과거 버전의 내용도 알아두시면 좋습니다.
프로젝트때 사용하시는 버전을 확인하시고 check 제약조건 사용 여부를 결정해주시면 되겠습니다. 감사합니다^^
공통 코드 VS Enum 클래스
0
11
1
movablePageCount와 pageSize 상수
0
13
1
JPA와 네이티브 쿼리
0
15
1
aws 계정 생성 질문
1
27
1
강의 DB데이터 질문
0
38
1
극단적으로 from-to가 12일 이고, valid_to가 13일이면?
0
36
1
11강 [실습] Docker로 MySQL1 분만에 실행하기
0
68
2
11강 [실습] Docker로 MySQL1 분만에 실행하기
0
52
2
union all을 했을 때 제대로 값이 나오지 않는 것 같습니다.
0
263
1
마지막 매개를 이용한 join 관련해 질문이 있습니다.
0
358
1
check 제약 조건이 mysql에 적용되는거 같습니다.
0
244
1
서로 다른 테이블의 동일한 컬럼명은 동일한 데이터를 가지는 건가요?
0
291
1
직함이 Staff이지만 Senior Staff는 아닌 사원들의 사원 번호를 불러오는 코드를 작성하여라
0
286
1
password입력창이 안뜹니다
0
308
1
오류 발생 질문
0
340
1
중복된 데이터 삭제
0
390
1
32bit버전
0
291
1
숫자 함수 round(salary 1*1, 0)
0
211
0
데이터 베이스 및 테이블 생성
1
1945
2
SQL 설치 관련 문의사항입니다.
0
257
1
강의 데이터중복의 최소화 PPT에서 질문입니다
0
281
1
영상에 사용되는 ppt자료 받을 수 있을까요?
1
254
0
조건절 이용하기 실습 중 데이터를 너무 많이 불러오는 경우 중단하는 방법이 있는지요?
0
391
2
[처음시작하는 MySQL DataBase] 학습을 위한 데이터베이스 설치 강의 질문입니다.
0
258
1





