如果我使用VARBINARY(16)
创建了一个表,后来又决定需要存储更长的二进制数据,那么我可以安全地更改现有表吗?还是我什至需要? hsqldb
在内部是否在优化长度存储,是否需要重写所有现有数据?
文档不涉及这种情况。
答案 0 :(得分:1)
对于HSQLDB,用于更改表的所有SQL语句都是安全的。使用VARBINARY和VARCHAR,您需要执行ALTER COLUMN语句以增加最大长度。例如:
ALTER TABLE thetable ALTER COLUMN thecolumn SET DATA TYPE VARBINARY(32)
增加长度时,该语句立即执行。减少时,它将检查所有数据,并且如果任何现有数据长于新的最大值,则不会更改限制。
http://hsqldb.org/doc/guide/databaseobjects-chapt.html#dbc_table_manupulation