ALTER TABLE ... ADD|MODIFY|DROP CONSTRAINT

ALTER TABLE ... ADD|MODIFY|DROP CONSTRAINT

제약 조건(Constraint)은 아래 문법을 사용해 추가하거나 수정, 삭제할 수 있어요.

출처: 문서

본문

ALTER TABLE [db].name [ON CLUSTER cluster] ADD CONSTRAINT [IF NOT EXISTS] constraint_name {CHECK|ASSUME} expression;
ALTER TABLE [db].name [ON CLUSTER cluster] MODIFY CONSTRAINT [IF EXISTS] constraint_name {CHECK|ASSUME} expression;
ALTER TABLE [db].name [ON CLUSTER cluster] DROP CONSTRAINT [IF EXISTS] constraint_name;

테이블 생성 때와 마찬가지로, 제약 조건은 CHECK(INSERT 시에 적용됨) 또는 ASSUME(검사 없이 옵티마이저가 신뢰함) 중 하나로 선언할 수 있어요. 두 방식의 차이는 constraints 문서에서 확인할 수 있습니다.

MODIFY CONSTRAINT는 기존 제약 조건의 선언을 교체하며, 테이블 정의에서 해당 제약 조건의 위치는 유지해요. 또한 제약 조건의 종류를 바꿀 수도 있습니다(예: CHECK에서 ASSUME로). 이는 제약 조건을 삭제한 뒤 새 선언으로 다시 추가하는 것과 동일해요. 제약 조건이 존재하지 않으면 IF EXISTS가 지정되지 않는 한 쿼리는 오류를 던집니다.

제약 조건에 대한 자세한 내용은 constraints 문서를 참고하세요.

이 쿼리들은 테이블의 제약 조건에 대한 메타데이터를 추가, 변경 또는 제거하므로 즉시 처리됩니다.

제약 조건이 추가되거나 수정되어도 기존 데이터에 대한 검사는 실행되지 않아요.

Replicated 테이블에 대한 모든 변경은 ZooKeeper로 전파되며, 다른 리플리카에도 동일하게 적용됩니다.

Part of: ALTER

Related: ALTER, CREATE TABLE

더 알아보기 (Learn more)