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中,默认情况下允许所有文本,只有在显式禁用它们时,才会显示此类错误消息。