gpt4 book ai didi

使用 WHERE 与 AND 结合使用 Java MySQL UPDATE 错误

转载 作者:行者123 更新时间:2023-11-29 06:59:46 24 4
gpt4 key购买 nike

我正在尝试更新 MySQL中的一个条目,表的结构是table_rankings(ip text,field text,rank double)。其中ip是用户的IP地址,field是正在排名的对象,rank是字段的数字排名。我的发言是:

//String for query
String query = "UPDATE "+catagory+"_rankings SET rank = ? WHERE ip = ? AND field = ? )";
PreparedStatement ps = conn.prepareStatement(query);
//fill ? variables
ps.setDouble(1, r[i]);
ps.setString(2, user);
ps.setString(3, s[i]);

ps.executeUpdate();

在此代码中,category 指的是给定的表格,例如 baseball_rankingsbasketball_rankings。我收到的错误是:

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 ')' at line 1
SQLState: 42000
VendorError: 1064

问题是我无法在 UPDATE 语句中使用 WHERE 以及 AND 吗?我也很好奇我的更新是否会受到 SQL 注入(inject)攻击,因为我使用的是 catagory+"_rankings"。我尝试使用 ? 变量,但它会导致另一个错误。

最佳答案

你多加了一个“)”,或者可以说,你漏掉了一个“(”。

尝试

String query = "UPDATE "+catagory+"_rankings SET rank = ? WHERE ip = ? AND field = ? ";

关于使用 WHERE 与 AND 结合使用 Java MySQL UPDATE 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43970524/

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