代码之家  ›  专栏  ›  技术社区  ›  Martin Serrano Aksel Willgert

更改hsqldb中的varbinary长度

  •  0
  • Martin Serrano Aksel Willgert  · 技术社区  · 6 年前

    如果我创建了一个表 VARBINARY(16) 后来决定我需要存储更长的二进制数据,我可以安全地改变现有的表吗?或者我需要吗?内部是 hsqldb 优化长度的存储,是否需要重写所有现有数据?

    文件不包括这种情况。

    1 回复  |  直到 6 年前
        1
  •  1
  •   fredt    6 年前

    使用hsqldb,所有用于更改表的sql语句都是安全的。使用VARDION和VARCHAR,需要执行ALTALLASH语句来增加最大长度。例如:

    ALTER TABLE thetable ALTER COLUMN thecolumn SET DATA TYPE VARBINARY(32)
    

    增加长度时,语句立即执行。当还原时,它将检查所有数据,并且如果任何现有数据都长于新的最大值,则不改变限制。

    http://hsqldb.org/doc/guide/databaseobjects-chapt.html#dbc_table_manupulation