java - 从 MySQL 数据库中删除玩家

标签 java mysql bukkit

我有一个命令可以从 MySQL 数据库中踢出玩家,但当玩家离线时该命令不起作用;它不会从数据库中删除它们。

这是我的代码:

this.ms.connect();
PreparedStatement kick = this.ms.prepare("DELETE FROM `players` WHERE `nick` = ?");

try {
    kick.setString(1, args[0]);
} catch (SQLException e) {
    e.printStackTrace();
}

this.ms.execute(kick);

我得到的错误是:

Caused by: java.lang.IllegalArgumentException: OfflinePlayer cannot be null

最佳答案

如果您无法通过确切的名称找到离线玩家,则需要使用玩家uuid。另外,请确保所有 mySql 请求都在新的异步线程上运行,而不是在主服务器线程中运行。

关于java - 从 MySQL 数据库中删除玩家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22717159/

相关文章:

在另一个类中使用的 Java 对象和类

java - groovy 中的类加载问题

java - 如何在具有多个 JTextField 的 Java Swing JFrame 实例中获取按键事件?

java - 如何使用selenium访问多个html表列数据

php - 我如何在 Doctrine 2 DQL 中使用 DATE()?

java - AJAX:对ajax获取的数据进行编码

mysql - 尝试将原始 sql 转换为 laravel 查询生成器时出错

java - MappedByteBuffer 内存使用

java - 同一程序中不同 jar 中使用的静态类是否访问相同的数据?

java - Bukkit插件: Blank sign