表结构如
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);
本文介绍了一种在数据库中修改带有唯一性约束字段的数据类型的方法。首先需要移除该字段的唯一性约束,接着更改数据类型,最后重新添加唯一性约束。
1万+

被折叠的 条评论
为什么被折叠?



