微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查数据库中是否存在行,并返回布尔值

如何解决检查数据库中是否存在行,并返回布尔值

我有一个使用名称函数,并在数据库中检查该名称是否存在一行。但是,我不知道如何确定该行是否存在。

我现在的代码

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。

解决方法

简单查询更好:

SELECT 1 FROM currency WHERE name=%s LIMIT 1

如果存在则返回单行1,如果不存在则返回0行。

还使用预处理语句来避免SQL注入。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。