Heim  >  Artikel  >  Datenbank  >  Vertica修改带UNIQUE约束字段的长度

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

WBOY
WBOYOriginal
2016-06-07 15:56:362736Durchsuche

表结构如 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);

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn