gpt4 book ai didi

java - 如何在java中转换 "' "to " ` "

转载 作者:行者123 更新时间:2023-11-29 05:49:54 25 4
gpt4 key购买 nike

java代码中的语法不适用于mysql。来自 java 的 setString() 将输出 ' 而不是 `,这在 mysql 中是不被接受的。

我尝试在我的本地主机上运行代码,它真的不接受 'doctor' 而只接受 ``doctor`。

下面是我的代码:

PreparedStatement ps = con.prepareStatement("SELECT id FROM ? WHERE id = ?");
ps.setString(1, "doctor");
ps.setInt(2, 123);
ResultSet rs = ps.executeQuery();

还有一个错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 ''doctor' WHERE id = 123' at line 1

最佳答案

这是因为您的代码产生了以下查询:

SELECT id FROM 'doctor' WHERE id = 123

如您所见,表名用作字符串,这是无效的 SQL 语法,因此您可以对 表名 进行硬编码,或者如果您真的希望它是动态的,您可以像这样实现它:

String sql = String.format("SELECT id from %s where id = ?", tblName); 
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, 123);
ResultSet rs = ps.executeQuery();

关于java - 如何在java中转换 "' "to " ` ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55409837/

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