我想修改一个Derby数据库列的数据类型。当前价格列被设置为DECIMAL(5,0)。我想要将其更改为DECIMAL(7,2)。我已经这样做:
alter table item alter column price set data type DECIMAL(7,2);
但是它没有起作用,并显示错误:
Error: Only columns of type VARCHAR may have their length altered.
请问如何修改它?谢谢。
以下是Derby SQL脚本,用于将列MY_TABLE.MY_COLUMN从BLOB(255)更改为BLOB(2147483647):
ALTER TABLE MY_TABLE ADD COLUMN NEW_COLUMN BLOB(2147483647);
UPDATE MY_TABLE SET NEW_COLUMN=MY_COLUMN;
ALTER TABLE MY_TABLE DROP COLUMN MY_COLUMN;
RENAME COLUMN MY_TABLE.NEW_COLUMN TO MY_COLUMN;
ALTER TABLE SCHEMA.TABLE ALTER "COLUMN-NAME" SET DATA TYPE VARCHAR(255);
(column-Name SET DATA TYPE VARCHAR(integer))
是将字符串设置为数据类型的示例...您可以按照以下方式修改表格:
ALTER TABLE [table] ALTER COLUMN [column] SET DATA TYPE [type];
如果在 Rails
中使用,只需使用以下代码:
change_column :table_name, :column_name, :integer
Posgtes解决方案:
ALTER TABLE prices_table ALTER price_column TYPE decimal(7,2)