我需要减小postgres数据库表中字符变化字段的大小。
描述|角色变化(500(|不是null
我正在使用此命令
ALTER TABLE notification ALTER COLUMN description TYPE varchar(200);
它给我这种错误
错误:值太长而对于类型字符变化(200(
那么,如何降低字符的大小从500到200不等?
显然您在该列中具有超过200个字符的值。您首先需要截断这些值:
您将值截断为ALTER TABLE
语句的一部分。
ALTER TABLE notification
ALTER COLUMN description TYPE varchar(200) USING left(description, 200);
另外,您可以首先更新表,但是作为ALTER TABLE
的一部分这样做的速度将更快:
update notification
set description = left(description, 200)
where length(description) > 200;
之后,您可以运行ALTER TABLE
语句