我有一个使用名称的函数,并在数据库中检查该名称是否存在一行。但是,我不知道如何确定该行是否存在。
我现在的代码是
public static boolean rowExists(String player) throws SQLException {
String sql = "SELECT EXISTS(SELECT * FROM currency WHERE name='"+player+"');";
Bukkit.broadcastMessage(player);
Statement stmt = con.createStatement();
ResultSet up = stmt.executeQuery(sql);
boolean nut = up.next();
Bukkit.broadcastMessage("nut: " + nut + " ");
return nut;
}
nut是布尔值,其中存在该条目为true,否则为false。 当前,无论行是否存在,nut总是返回true。
答案 0 :(得分:1)
简单查询更好:
SELECT 1 FROM currency WHERE name=%s LIMIT 1
如果存在则返回单行1,如果不存在则返回0行。
还使用预处理语句来避免SQL注入。