Quantcast
Channel: Forum VeryGames
Viewing all articles
Browse latest Browse all 5196

[DEV] Plugin/SQL Problème avec une requête.

$
0
0
Bonjour !

Je viens vers vous car je reçois trop de problème SQL dans mes logs de serveur. J'ai récemment créé un plugin de MULTI SPAWN en fonction de la zone où se trouve le joueur.
C'est à dire que à la connexion de joueur, le plugin l'ajoute dans la DataBase et lui assigne le spawn de base : Voyageur.

Voici le code :
Code:

public static void checkJoinPlayer(Player player, Connection databaseConnection) {

        String addPlayer = player.getName().toLowerCase();

        try {
            PreparedStatement checkGroup = (PreparedStatement) databaseConnection.prepareStatement("INSERT INTO `GroupSpawnPlayer`(`player`, `group`) VALUES (?,?)");
            checkGroup.setString(1, addPlayer);
            checkGroup.setString(2, "voyageur");
            checkGroup.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

Mon problème est que pour éviter les doublons, je n'ai trouvé que le fait de mettre la colonne "player" en UNIQUE. C'est à dire qu'il n'y aurait pas de doublons dans cette colonne. J'ai déjà utilisé 3 tonnes de conditions en SQL non fonctionnelles déjà.
Le fait est que mes logs sont spams à chaque connexion :
Citation:

[11:51:13] [User Authenticator #2/INFO]: UUID of player Nebouh is a42d2d12-1ab0-4a91-bf0e-4772d350bafe
[11:51:13] [Server thread/WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityCons traintViolationException: Duplicate entry 'nebouh' for key 'player'
[11:51:13] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
[11:51:13] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
[11:51:13] [Server thread/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
[11:51:13] [Server thread/WARN]: at java.lang.reflect.Constructor.newInstance(Construc tor.java:526)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:40 7)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:382)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1039)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:3593)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:3525)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:19 86)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2140)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2626)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.PreparedStatement.executeInternal(P reparedStatement.java:2111)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java:2407)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java:2325)
[11:51:13] [Server thread/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java:2310)
[11:51:13] [Server thread/WARN]: at com.nebouh.groupspawn.groupspawnManager.checkJoinP layer(groupspawnManager.java:124)
[11:51:13] [Server thread/WARN]: at com.nebouh.groupspawn.groupspawn.onPlayerJoin(grou pspawn.java:65)
[11:51:13] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
[11:51:13] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
[11:51:13] [Server thread/WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
[11:51:13] [Server thread/WARN]: at java.lang.reflect.Method.invoke(Method.java:606)
[11:51:13] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute( JavaPluginLoader.java:292)
[11:51:13] [Server thread/WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(Reg isteredListener.java:62)
[11:51:13] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(Si mplePluginManager.java:501)
[11:51:13] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(Si mplePluginManager.java:486)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PlayerList.c(PlayerLi st.java:251)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PlayerList.a(PlayerLi st.java:138)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.LoginListener.c(Login Listener.java:76)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.LoginListener.a(Login Listener.java:42)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.NetworkManager.a(Netw orkManager.java:160)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ServerConnection.c(So urceFile:134)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.v(Min ecraftServer.java:667)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.DedicatedServer.v(Ded icatedServer.java:260)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.u(Min ecraftServer.java:558)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.run(M inecraftServer.java:469)
[11:51:13] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ThreadServerApplicati on.run(SourceFile:628)
[11:51:13] [Server thread/INFO]: Nebouh[/109.7.126.100:18707] logged in with entity id 10102 at ([spawnnimbus] -400.32830046039464, 93.0, -149.45094766856906)
Auriez-vous une aide à m'apporter pour que je gère le système de doublons dans ma DB autre que pour un UNIQUE sur la colonne ?

Cordialement,
Nebouh

Viewing all articles
Browse latest Browse all 5196