sql - 如何更改 derby 数据库的列数据类型?

标签 sql database derby

我正在尝试更改 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. 

我可以知道如何改变它吗?谢谢。

最佳答案

这是将 MY_TABLE.MY_COLUMN 列从 BLOB(255) 更改为 BLOB(2147483647) 的 Derby SQL 脚本:

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;

关于sql - 如何更改 derby 数据库的列数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385020/

相关文章:

java - Derby 外键约束

java - 在 DERBY 查询中省略模式

java - `mysql` .`proc` 表不可用。无法加载存储过程

mysql - 一张表的SQL算术运算

database - Mysql服务无法启动,InnoDB init函数错误

php - 没有连接关系时SQL返回左表

mysql - 如何合并两个具有不同列号的表? mysql

sql - PostgreSQL:在一个语句中组合重复窗口函数(OVER/PARTITION BY)

mysql - 根据距离返回匹配的sql行

jdbc - 如何构建一个带有可变数量参数的准备好的语句?