我正在使用JUnit来测试应用程序。我决定使用HSQL在运行时创建内存数据库。这在我模拟Oracle数据库时工作正常。但是,当我尝试模拟现有的DB2数据库时,遇到了一个问题。我们使用的其中一列在列名中有#符号(即“Person#”)。 HSQL无法解释此字符,并且在尝试加载架构时会引发硬错误。
我试图将HSQL置于DB2模式但仍然没有运气。是否可以在HSQL中使用#符号或在内存数据库中使用任何其他符号?不幸的是,更改列名对于简单的测试覆盖来说太过分了。
答案 0 :(得分:1)
您需要将列名括在双引号中:
CREATE TABLE foo
(
"PERSON#" VARCHAR(10)
)
很遗憾,在访问该列时,您需要始终使用双引号