H2数据库查询语法



我正在运行以下查询

SELECT * 
FROM USER_MODEL 
WHERE "name"  = "Administrator"

但是,我收到一条错误消息,不确定为什么该值也被视为列名。

列"管理员";未找到;SQL语句:

当我尝试使用单引号时。

SELECT * 
FROM USER_MODEL 
WHERE "name"  = 'Administrator' 

然后H2再次抱怨

不允许使用此类文字;SQL语句:

当名称未包含双引号时。H2将列名转换为大写。

SELECT * 
FROM USER_MODEL 
WHERE name  = "Administrator"

列"名称";未找到;SQL语句:

需要有关H2查询如何工作的帮助。

您必须使用此查询

SELECT * 
FROM USER_MODEL 
WHERE name = 'Administrator'

所以,最终得到了解决方案,我不得不执行SET ALLOW_LTERALS ALL。允许在我的查询中使用单引号。

默认情况下,h2已禁用此功能以防止SQL注入。

最新更新