문제
다음 테이블 생성 구문에서 실행 시 발생하는 오류의 원인으로 가장 적절한 것은?
SQLCREATE TABLE products ( id INTEGER PRIMARY KEY, name VARCHAR(100) UNIQUE NOT NULL, price DECIMAL(10,2) CHECK(price > 0), category_id INTEGER REFERENCES categories(id) );
① UNIQUE와 NOT NULL을 동시에 지정할 수 없음 ② CHECK 제약조건의 조건식이 잘못됨 ③ 참조하는 테이블 categories가 존재하지 않음 ④ PRIMARY KEY 컬럼에 데이터 타입을 지정할 수 없음
정답
3번
해설
FOREIGN KEY 제약조건에서 참조하는 테이블(categories)이 존재하지 않으면 테이블 생성 시 오류가 발생합니다. ① UNIQUE와 NOT NULL은 동시 지정 가능, ② CHECK 조건식은 올바름, ④ PRIMARY KEY 컬럼에도 데이터 타입 지정이 필요합니다.