MySQL方言:
CREATE TABLE My_Table ( my_column enum ('first', 'second', ... 'last'));
Run Code Online (Sandbox Code Playgroud)
H2方言:
CREATE TABLE My_Table ( my_column ? ('first', 'second', ... 'last'));
Run Code Online (Sandbox Code Playgroud)
什么类型在H2中也等同于enum
MySQL 的类型?
Tho*_*ler 10
我不确定这是否是您正在寻找的,但您能做的是使用检查约束:
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');
Run Code Online (Sandbox Code Playgroud)
这将适用于H2,Apache Derby,PostgreSQL,HSQLDB甚至SQLite.我没有测试其他数据库.
空无一人; 仍然,enum
在任何情况下都不是一个很好的解决方案,只需使用一个参考表.
看起来 H2 有枚举:http : //www.h2database.com/html/datatypes.html#enum_type
所以完全相同的语法应该有效。(我不知道语义匹配的程度。)
归档时间: |
|
查看次数: |
10829 次 |
最近记录: |