제약조건 질문있습니다.
강의 후반부에
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 제약조건 사용 여부를 결정해주시면 되겠습니다. 감사합니다^^
라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항
0
21
2
JPA Repository 질문이 있습니다!
1
29
2
페이지네이션 처리를 쿼리에서 하는 방식 질문
1
31
1
비동기 스레드풀 분리 이유와 Virtual Thread 전환 시 고려사항
0
26
1
수강기간 연장
0
18
1
Build 관련 문제 (테스트 관련 문제)
0
30
1
BCNF 질문
0
40
2
consumer에서 에러가 발생할 경우 데이터 유실 문의
0
34
2
union all을 했을 때 제대로 값이 나오지 않는 것 같습니다.
0
235
1
마지막 매개를 이용한 join 관련해 질문이 있습니다.
0
325
1
check 제약 조건이 mysql에 적용되는거 같습니다.
0
216
1
서로 다른 테이블의 동일한 컬럼명은 동일한 데이터를 가지는 건가요?
0
266
1
직함이 Staff이지만 Senior Staff는 아닌 사원들의 사원 번호를 불러오는 코드를 작성하여라
0
256
1
password입력창이 안뜹니다
0
289
1
오류 발생 질문
0
316
1
중복된 데이터 삭제
0
362
1
32bit버전
0
263
1
숫자 함수 round(salary 1*1, 0)
0
197
0
데이터 베이스 및 테이블 생성
1
1894
2
SQL 설치 관련 문의사항입니다.
0
234
1
강의 데이터중복의 최소화 PPT에서 질문입니다
0
253
1
영상에 사용되는 ppt자료 받을 수 있을까요?
1
234
0
조건절 이용하기 실습 중 데이터를 너무 많이 불러오는 경우 중단하는 방법이 있는지요?
0
360
2
[처음시작하는 MySQL DataBase] 학습을 위한 데이터베이스 설치 강의 질문입니다.
0
225
1





