我在通过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
中的SQLConverter.escape(sql)
中。
UCanAccess旨在支持类似2015_02_24_15_52_29_926_testrongchema的表名。为了做到这一点,它需要使用内部命名重映射。在非常旧的版本中可能会有一些bug,但INSERTinsert into [2015_02_24_15_52_29_926_test_schema] values(1,'f')
运行良好在最新版本中(我刚刚尝试过2.0.9.2和2.0.9.3)。
UCanAccess不允许在表名的开头使用数字。
只需使用TBL_2015...
作为表名即可。