2017-07-13 31 views
0

我想修改Derby中具有CHAR類型的列的大小。 - 列的現有大小= CHAR(2) - 我想要的大小= CHAR(3)是不可能修改Derby中char類型的列的大小?

ALTER TABLE測試 ALTER LOG集數據類型,CHAR(4)

但是,如果我嘗試,「僅VARCHAR,CLOB或BLOB類型是可能的」被打印出來......

所以,是不可能修改Derby中char類型的列的大小?

回答

0

您不能使用簡單的1行ALTER TABLE ... ALTER COLUMN語句來更改CHAR數據類型;看到https://db.apache.org/derby/docs/10.13/ref/rrefsqlj81859.html

你可以,但是,使用更復雜的4個步驟:

  1. ALTER TABLE ... ADD COLUMN ...添加一個新CHAR(3)
  2. UPDATE ... SET ...從舊的列值設置新列的值。
  3. ALTER TABLE ... DROP COLUMN ...CHAR(2)
  4. RENAME COLUMN重命名CHAR(3)列具有相同的名稱作爲老CHAR(2)列。

當然,在運行這些命令之前,先備份數據庫。