当前位置: 首页 > 知识库问答 >
问题:

h2和版本中的枚举数据类型

施超
2023-03-14

我已经安装了最新版本的H2(10-06-2017)。H2控制台窗口将infor版本显示为H2 1.4.192(2016-05-26)。我对此感到困惑。此外,文档指定它支持枚举数据类型。但是当运行下面的sql查询时

创建表用户(用户id varchar(255)不为空,密码varchar(255)默认为空,用户类型enum('admin','doctor','houseceper')默认为空,主键(用户id))

它显示“未知数据类型:”ENUM;“SQL语句:”请解释。我正在使用windows 10

共有1个答案

穆浩皛
2023-03-14

我可以确认最新版本(1.4.196)确实支持枚举,并且CREATE TABLE语句运行良好。旧版本(1.4.192)不支持枚举,如您所述失败。所以问题是你实际上运行的是旧版本(根据你在问题开头的怀疑)。

 类似资料:
  • 枚举类(“新的枚举”/“强类型的枚举”)主要用来解决传统的C++枚举的三个问题: 传统C++枚举会被隐式转换为int,这在那些不应被转换为int的情况下可能导致错误 传统C++枚举的每一枚举值在其作用域范围内都是可见的,容易导致名称冲突(同名冲突) 不可以指定枚举的底层数据类型,这可能会导致代码不容易理解、兼容性问题以及不可以进行前向声明 枚举类(enum)(“强类型枚举”)是强类型的,并且具有类

  • 问题内容: 假设是,我将如何产生给定序数的枚举值? 问题答案: 足够了。一条线; 足够简单。

  • 问题内容: 我有一个枚举的类对象(我有一个),我需要获取此枚举表示的枚举值的列表。该静态函数有我需要什么,但我不知道怎么去从类对象访问它。 问题答案:

  • 问题内容: 例如,我该怎么做: 结果示例: 问题答案: 迅捷4.2+ 从Swift 4.2(使用Xcode 10)开始,只需添加协议一致性即可从中受益。要添加此协议一致性,您只需要在某处写: 如果枚举是您自己的,则可以直接在声明中指定一致性: 然后,以下代码将打印所有可能的值: 与早期Swift版本(3.x和4.x)的兼容性 如果您需要支持Swift 3.x或4.0,则可以通过添加以下代码来模仿S

  • 谁能解释一下 和 我经常使用前一个示例(可能太频繁了,没有足够的封装),但我从未使用过第二个示例。 谢啦 枚举