Sql H2数据库查询语法

Sql H2数据库查询语法,sql,h2,Sql,H2,我正在运行下面的查询 SELECT * FROM USER_MODEL WHERE "name" = "Administrator" 但是,我收到一条错误消息,不确定为什么该值也被视为列名 未找到“管理员”列;SQL语句: 当我尝试使用单引号时 SELECT * FROM USER_MODEL WHERE "name" = 'Administrator' 然后H2再次抱怨 这种文字是不允许的;SQL语句: 当名称未包含

我正在运行下面的查询

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_LITERALS ALL。允许在我的查询中使用单引号


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

h2不允许单引号。第二,若我给出名称,它会将其转换为大写并搜索列名。并给出错误,你确定吗?SQL语法()表明确实如此。是的,我确定..:(在H2中,默认情况下允许所有文本,只有在显式禁用它们时,才会显示此类错误消息。