>  기사  >  데이터 베이스  >  Vertica修改带UNIQUE约束字段的长度

Vertica修改带UNIQUE约束字段的长度

WBOY
WBOY원래의
2016-06-07 15:56:362686검색

表结构如 CREATE TABLE IF NOT EXISTS public.user ( id PRIMARY KEY, name varchar(32) NOT NULL UNIQUE, ...... ); 修改语句 alter table public.user alter name set data type varchar(52); 由于受“UNIQUE”条件的约束,如果直接执行语句将会报如下错误

表结构如

CREATE TABLE IF NOT EXISTS public.user (
id PRIMARY KEY,
name varchar(32) NOT NULL UNIQUE,
......
);

修改语句

alter table public.user alter name set data type varchar(52);

由于受“UNIQUE”条件的约束,如果直接执行语句将会报如下错误:

ROLLBACK 2350: Cannot alter type of column "name" since it is referenced in the constraint "C_UNIQUE_1"

所以要先删除“UNIQUE”约束

alter table wb_play.user drop CONSTRAINT C_UNIQUE_1 CASCADE;

再执行

alter table public.user alter name set data type varchar(52);

然后重新加上“UNIQUE”约束

alter table public.user add CONSTRAINT C_UNIQUE_1 UNIQUE(name);

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.