【问题标题】:How to decrease the size of character varying type in postgres?如何减少postgres中不同类型字符的大小?
【发布时间】:2018-08-06 18:28:31
【问题描述】:

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

说明 |字符变化(500) |不为空

我正在使用这个命令

ALTER TABLE notification ALTER COLUMN description TYPE varchar(200);

它给了我这种类型的错误

错误:类型字符变化的值太长(200)

那么如何将字符的大小从 500 减小到 200?

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    显然,您在该列中有超过 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 语句

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2018-05-25
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-25
      相关资源
      最近更新 更多