gpt4 book ai didi

带有特殊字符的 Java SQL 表名

转载 作者:行者123 更新时间:2023-11-29 10:06:55 25 4
gpt4 key购买 nike

我有一个代码,可以动态创建表。这些表用于存储和获取不同进程的数据。

问题:使用“&”等特殊字符创建表名称。 MySQL 允许表名包含特殊字符。 MySQL 不是问题。

当我使用 DBUtils 从此类表中查询数据时,我在特殊字符处遇到异常。如果我使用常规 jdbc,那么我可以逃脱这些并可以处理数据。但 DButils 不允许转义此类字符。

我尝试在表名中添加双引号并尝试处理,但问题仍然存在。有什么建议吗?

java.sql.SQLException: You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right
syntax to use near '-AO_I ( Datetime, L, ' at line 1
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:491)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:404)

删除所有列名称和详细表名称。表名称为“NRI-AO_I”该代码将数据添加到数百个表中,但只有少数表失败。这些表名在表名中具有特殊字符。名称中含有“&”或“-”的表将失败。

最佳答案

在表名称中使用特殊字符是一个坏主意,但如果您没有其他选择,请用反勾引用不明确或“特殊”的表名称。例如:

select * from `NRI-AO_I`

关于带有特殊字符的 Java SQL 表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51782514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com