我想在Derby中修改具有CHAR类型的列的大小。 - 列的现有大小= CHAR(2) - 我想要的尺寸= CHAR(3)
ALTER TABLE测试 ALTER LOG SET DATA TYPE CHAR(4)
但是,如果我尝试,"只有VARCHAR,CLOB或BLOB Type是可能的"印刷...
那么,在Derby中修改具有char类型的列的大小是不可能的吗?
答案 0 :(得分:0)
您无法使用简单的1行ALTER TABLE ... ALTER COLUMN
语句来更改CHAR
数据类型;见https://db.apache.org/derby/docs/10.13/ref/rrefsqlj81859.html
但是,您可以使用更复杂的4步骤流程:
ALTER TABLE ... ADD COLUMN ...
添加新的CHAR(3)
列UPDATE ... SET ...
从旧列的值中设置新列的值。ALTER TABLE ... DROP COLUMN ...
删除CHAR(2)
列RENAME COLUMN
将CHAR(3)
列重命名为与旧CHAR(2)
列同名。当然,在运行类似这样的命令之前,先备份数据库。