【发布时间】:2021-01-21 10:51:24
【问题描述】:
我在 Redshift 中有一个表,其中包含速率列和日期列。 rate 列的数字数据类型为 (18,2)。我想将其更改为(18,4)。由于该列已包含数据,因此我无法更改该列。有没有办法在不丢失数据的情况下做到这一点。这是我正在使用的语法和我得到的错误。 这是语法
ALTER TABLE pricetable
ALTER COLUMN product_price
TYPE numeric(18,4);
这是错误
无效操作:无法更改关系“pricetable”的列“product_price”[SQL State=0A000, DB Errorcode=500310]**
【问题讨论】:
-
为什么更改列不起作用? db-fiddle.com/f/6Ftk7VqEpnPL6b8GkZRRJS/0 不做你想做的事吗?
-
为什么你认为你不能改变数据类型? postgresql.org/docs/current/sql-altertable.html
-
我使用相同的语法,但我只使用了 TYPE 而不是 SET DATA TYPE。改变也没有奏效。我的桌子在红移。有影响吗?
-
您能否向我们展示您的 SQL、错误消息和/或任何其他结果?我们现在只是猜测发生了什么
-
Redshift 不是 postgresql。如果您的问题是关于红移的,您应该更改问题标签。
标签: amazon-redshift ddl