HSQLDB 是否支持 MySQL 兼容模式下枚举的默认值?
Does HSQLDB support default values for enums in MySQL compat mode?
我正在使用内存中的 HSQLDB 实例(版本 2.5.1)进行 Java 单元测试。该实例启用了 MySQL 兼容模式。以下创建语句有效:
CREATE TABLE people
(
is_subscribed enum('y','n') NOT NULL
)
但是,如果我尝试添加这样的默认值:
CREATE TABLE people
(
is_subscribed enum('y','n') DEFAULT 'n' NOT NULL
)
我收到以下错误消息:
java.sql.SQLSyntaxErrorException: unexpected token: DEFAULT : line: 3 in statement [CREATE TABLE people
有没有办法为枚举类型指定默认值?
HSQLDB 2.5.1 及以下版本不直接支持 MySQL ENUM 声明的 DEFAULT 子句。以后的版本可能会支持。
您可以在创建 table 后添加 DEFAULT。使用:
ALTER TABLE people ALTER COLUMN is_subscribed SET DEFAULT 'n'
更新:最新代码现在支持此功能。您可以签出代码并构建 jar。更新将出现在下一个版本中。
我正在使用内存中的 HSQLDB 实例(版本 2.5.1)进行 Java 单元测试。该实例启用了 MySQL 兼容模式。以下创建语句有效:
CREATE TABLE people
(
is_subscribed enum('y','n') NOT NULL
)
但是,如果我尝试添加这样的默认值:
CREATE TABLE people
(
is_subscribed enum('y','n') DEFAULT 'n' NOT NULL
)
我收到以下错误消息:
java.sql.SQLSyntaxErrorException: unexpected token: DEFAULT : line: 3 in statement [CREATE TABLE people
有没有办法为枚举类型指定默认值?
HSQLDB 2.5.1 及以下版本不直接支持 MySQL ENUM 声明的 DEFAULT 子句。以后的版本可能会支持。
您可以在创建 table 后添加 DEFAULT。使用:
ALTER TABLE people ALTER COLUMN is_subscribed SET DEFAULT 'n'
更新:最新代码现在支持此功能。您可以签出代码并构建 jar。更新将出现在下一个版本中。