我在通过UCanAccess将记录插入表中时遇到问题。 我的插入内容如下所示:
INSERT INTO [2015_02_24_15_52_29_926_test_schema] ( ... )
插入内容将由标准java.sql.Statement
触发。
UCanAccess内部转换sql。这是结果:
INSERT INTO Z_2015_02_24_15_52_29_926_test_schema (...)
为什么UCanAccess会在表名中加上'Z'?
我调试了代码,发现更改发生在UCanAccess提供的类SQLConverter.escape(sql)
中SQLConverter
。
答案 0 :(得分:2)
UCanAccess旨在支持2015_02_24_15_52_29_926_test_schema等表名。为此,需要使用内部命名重映射。
关于它的旧版本可能存在一些错误,但是像INSERT一样
insert into [2015_02_24_15_52_29_926_test_schema] values(1,'f')
效果很好
在最新版本中(我刚试过2.0.9.2和2.0.9.3)。
答案 1 :(得分:1)
UCanAccess不允许在表名的开头添加数字。
只需使用TBL_2015...
作为您的表名。