如何替换H2数据库中的枚举类型?
MySQL方言:
CREATE TABLE My_Table ( my_column enum ('first', 'second', ... 'last'));
H2方言:
CREATE TABLE My_Table ( my_column ? ('first', 'second', ... 'last'));
在H2中,哪种类型与MySQL中的类型等效?enum
MySQL方言:
CREATE TABLE My_Table ( my_column enum ('first', 'second', ... 'last'));
H2方言:
CREATE TABLE My_Table ( my_column ? ('first', 'second', ... 'last'));
在H2中,哪种类型与MySQL中的类型等效?enum
我不确定这是否是您要查找的内容,但您可以做的是使用检查约束:
CREATE TABLE My_Table(my_column varchar(255)
check (my_column in ('first', 'second', 'last')));
-- fails:
insert into My_Table values('x');
-- ok:
insert into My_Table values('first');
这将适用于H2,Apache Derby,PostgreSQL,HSQLDB,甚至SQLite。我没有测试其他数据库。
没有;尽管如此,在任何情况下都不是很好的解决方案,只需使用参考表即可。enum