我在数据库中有一个名为“:
的列成才[0] .else.thing
因为有'。'列名中的字符我必须在hbm.xml文件中用括号括起来,如下所示:
[成才[0] .else.thing]
问题是不允许此查询。
产生以下错误。
Message = "ERROR [42000] [DataDirect][OpenAccess ODBC]Syntax error in SQL statement. syntax error line 1 at or after token <thing>."
我的问题是如何绕过列名称中的括号?
我试过了: [成才[0] .else.thing]
[成才[0] .else.thing]]
[“someting [0] .else.thing”]
“[someting [0] .else.thing]”
'[成才[0] .else.thing]'
修改
[东西[0]]。else.thing]
'某物[0] .else.thing'
答案 0 :(得分:1)
您可以使用反引号
包装列名`something[0].else.thing`
(不确定它是否有效,但我不知道如何在没有突出显示内容的情况下将注释添加到注释中)
答案 1 :(得分:1)
您可以尝试"someting[0].else.thing"
,(或xml中的"someting[0].else.thing"
)
参见例如SQLite: escaping table and column names correctly
SQlite支持`与MySQL和[]的兼容性 与MS Access和SQL Server的兼容性。 但它也支持 双引号,这是标准的SQL