Solved MYSQL Duplicate Entry

Discussion in 'Plugin Help/Development/Requests' started by malikdbuseck, Dec 2, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    malikdbuseck

    So I have this code for my database, the first time around for creating the player it works great! But when I log out and try to log back in it tries to create another entry, thus giving a duplicate error entry. Which was is wrong in the piece of code.

    Code:
    package dae.stafftools.MYSQL;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import org.bukkit.entity.Player;
    
    import dae.stafftools.Main;
    import dae.stafftools.tools.core.SettingsManager;
    
    public class UserData {
        public static boolean playerExists(String uuid) {
            SettingsManager settings = SettingsManager.getInstance();
    
            try {
                Statement statement = Main.c.createStatement();
                ResultSet rs = statement
                        .executeQuery("SELECT * FROM "+ settings.getConfig().getString("Server.Server_Name") + " WHERE UUID= '"
                                + uuid + "';");
                rs.next();
                if (rs.next()) {
                    return rs.getString("UUID") != null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return false;
        }
    
        public static void createPlayer(String uuid, Player player) {
            SettingsManager settings = SettingsManager.getInstance();
    
            if (!(playerExists(uuid))) {
                try {
                    Statement statement = Main.c.createStatement();
                    statement.executeUpdate("INSERT INTO "+ settings.getConfig().getString("Server.Server_Name") + " (UUID, Player_Name,DAYS,HOURS,MINUTES, SECONDS) VALUES ('"+ uuid+ "', '" + player.getName() + "', '0', '0', '0', '0');");
                    System.out.println("Inserted info for:" + uuid);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
    
            }
        }
    
    }
    
     
Thread Status:
Not open for further replies.

Share This Page