繁体   English   中英

如何减少Postgres中字符变化类型的大小?

[英]How to decrease the size of character varying type in postgres?

我需要减小postgres数据库表中字符变化字段的大小。

描述| 字符变化(500)| 不为空

我正在使用此命令

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语句

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM