我想在UPDATE
的一個入口在MySQL中,表的結構是table_rankings (ip text, field text, rank double)
。其中ip
是用戶的IP地址,field
是排名對象,rank
是字段的數字排名。我的說法是:Java MySQL UPDATE錯誤使用WHERE與AND
//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();
在這段代碼catagory
是指給定表,例如baseball_rankings
或basketball_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注入攻擊,因爲我正在使用catagory+"_rankings"
。我試圖使用一個?
變量,但它會導致另一個錯誤。
你只有一個右括號 –
@TimBiegeleisen我不認爲他能做到。 –
@DawoodibnKareem爲什麼不(我很好奇)? –