문제
다음 상황에서 ALTER TABLE 명령어 실행 결과로 가장 적절한 것은?
SQL-- 기존 테이블 상태 CREATE TABLE users (id INT, email VARCHAR(50)); INSERT INTO users VALUES (1, 'test@test.com'); INSERT INTO users VALUES (2, 'admin@test.com'); INSERT INTO users VALUES (3, 'test@test.com'); -- 중복값 존재 -- 실행할 명령어 ALTER TABLE users ADD CONSTRAINT uk_email UNIQUE (email);
① UNIQUE 제약조건이 정상적으로 추가됨 ② 중복값 때문에 제약조건 추가 실패 ③ 중복값이 자동으로 삭제되고 제약조건 추가됨 ④ 경고 메시지와 함께 제약조건이 추가됨
정답
2번
해설
기존 데이터에 중복값('test@test.com')이 존재하는 상태에서 UNIQUE 제약조건을 추가하려고 하면 제약조건 위반으로 인해 명령어 실행이 실패합니다. 먼저 중복 데이터를 정리한 후에 UNIQUE 제약조건을 추가해야 합니다.