【发布时间】:2014-06-02 01:52:16
【问题描述】:
我有这个代码;
String sql = "UPDATE Players SET Losses=Losses+1 WHERE UUID='" + p.getUniqueId() + "';";
stmt.executeUpdate(sql);
如何获取特定Player p 的当前Losses?
【问题讨论】:
标签: java mysql sql database bukkit
我有这个代码;
String sql = "UPDATE Players SET Losses=Losses+1 WHERE UUID='" + p.getUniqueId() + "';";
stmt.executeUpdate(sql);
如何获取特定Player p 的当前Losses?
【问题讨论】:
标签: java mysql sql database bukkit
SELECT 查询将返回它,但您真正的问题是什么?
String sql ="SELECT column_name,column_name FROM table_name WHERE column_name ="" ;";
【讨论】:
我会使用 Select for Update 之类的东西 -
String query = "SELECT Losses FROM Players FOR UPDATE "
+ "Players SET Losses=Losses+1 WHERE UUID=?";
ps = conn.prepareStatement(query,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_UPDATABLE);
ps.setString(1, p.getUniqueId());
ResultSet rs = ps.executeQuery();
int losses = 0;
if (rs.next()) {
losses = rs.getInt("Losses");
}
【讨论】:
您可以获得如下损失。看起来真的很琐碎,猜你是一个绝对的初学者。
String sql = "SELECT Losses FROM Players WHERE UUID='" + p.getUniqueId() + "';";
ResultSet rs = stmt.executeQuery(sql);
int losses = -1;
if(rs.next()) {
losses = rs.getInt("Losses");
}
【讨论】:
您必须创建一个 SELECT 语句。就像 SELECT loss FROM Players WHERE UUID='"+p.getUniqueId()+"';"; 然后使用返回 ResultSet 的 Statement 的 executeQuery()。您可以使用迭代器从 ResultSet 对象中提取数据。
【讨论】: