java - 检查 Java 中的 MySQL DB 中是否存在值?

标签 java mysql database jdbc

我现在正在创建一个游戏,当玩家完成他或她的任务时,它会将任务值存储到数据库中。我现在遇到的问题是编写一个方法来搜索 MySQL 表中的玩家 ID 和任务 ID,以检查他或她是否已经完成了它。

我是 Java 数据库编程的新手,所以这是我通过查看其他地方的一些示例代码所得到的。

public boolean checkQuest(int questid) {
   Connection con = DatabaseConnection.getConnection();
   PreparedStatement ps = con.prepareStatement("SELECT questid FROM completedQuests WHERE characterid = ?");
   ps.setInt(1, scriptId);
   ResultSet rs = ps.executeQuery();

基本上,我想检查表中是否存在任务 ID。如果没有,则意味着玩家尚未完成任务,因此它可用。

最佳答案

我会在 where 子句中执行此检查,并使用 Java 端简单地检查此查询是否返回任何结果:

Connection con = DatabaseConnection.getConnection();
PreparedStatement ps = 
    con.prepareStatement
    ("SELECT questid FROM completedQuests WHERE characterid = ? AND questid = ?");
ps.setInt (1, characterId);
ps.setInt (2, questId);
ResultSet rs = ps.executeQuery();

if (rs.next()) {
    // Quest already completed
} else {
    // Quest not completed yet
}

// Close resources etc.

关于java - 检查 Java 中的 MySQL DB 中是否存在值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30860186/

相关文章:

java - 初始化本地数据存储异常 : No API environment is registered for this thread

java - 从被调用方法中获取局部变量的值而不返回

java - 通过ivy依赖解析下载Netty失败

SQL检索最新记录,按唯一外键分组

sql - 从用逗号分隔的两个表中进行 SELECT 如何工作? (从 T1、T2 选择 *)

mysql - 在这种情况下如何避免死锁?

Java 8 lambdas 执行

php - 为新行轮询 MySQL 表的最快方法是什么?

php - TCPDF MYSQL数据检索并打印在html表格中

MySQL JOIN ON 与变量不匹配的两列之一