2017-07-04 4 views
0

まず、多くのソリューションを試してみましたが、うまくいきませんでした。Bukkit/Spigot MySQL構文エラー

それがテーブルを作成の上だと、私はこのエラーを持って、私はそれが働いていない理由はわからないが、それは前に働いていたが、今、私は何の変更は何もしなかったし、それが

を働いていないように思わ

:「com.mysql .jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:あなたはあなたのSQL構文でエラーが発生している。ライン1"

package me.joseph.murder.sql; 

import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

import org.bukkit.plugin.Plugin; 
import org.bukkit.scheduler.BukkitRunnable; 

import me.joseph.murder.Main; 

public class SQLConnection { 
    public SQLDatabase MySQL; 
    public static Connection c; 

    public SQLConnection(Plugin plugin, String host, String port, String database, String username, String password) { 
     this.MySQL = new SQLDatabase(plugin, host, port, database, username, password); 
    } 

    public void openConnection() { 
     if (isConnected()) { 
      closeConnection(); 
     } 
     try { 
      c = this.MySQL.openConnection(); 

      executeUpdate(
        "CREATE TABLE IF NOT EXISTS Account (playername VARCHAR(16), wins INT(10), loses INT(10), deaths INT(10), kills INT(10), coins INT(10);"); 
      new BukkitRunnable() { 
       @Override 
       public void run() { 
        SQLConnection.this.openConnection(); 
       } 
      }.runTaskLater(Main.getInstance(), 100L); 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

    public boolean isConnected() { 
     try { 
      if (c.isClosed()) { 
       return false; 
      } 
      return true; 
     } catch (Exception e) { 
     } 
     return false; 
    } 

    public void closeConnection() { 
     if (isConnected()) { 
      try { 
       c.close(); 
      } catch (SQLException localSQLException) { 
      } 
     } 
    } 

    public ResultSet executeQuery(String statement, boolean next) { 
     if (isConnected()) { 
      try { 
       Statement s = c.createStatement(); 
       ResultSet res = s.executeQuery(statement); 
       if (next) { 
        res.next(); 
       } 
       return res; 
      } catch (SQLException e) { 
       return null; 
      } 
     } 
     return null; 
    } 

    public boolean executeUpdate(String statement) { 
     if (isConnected()) { 
      try { 
       Statement s = c.createStatement(); 
       s.executeUpdate(statement); 
       return true; 
      } catch (SQLException e) { 
       e.printStackTrace(); 
       return false; 
      } 
     } 
     return false; 
    } 
} 

答えて

0

欠落Parentheseので「」の近くに使用する権利構文については、ご使用のMariaDBサーバーのバージョンに対応するマニュアルを確認してください;)

CREATE TABLE IF NOT EXISTS 
Account (
    playername VARCHAR(16), 
    wins INT(10), 
    loses INT(10), 
    deaths INT(10), 
    kills INT(10), 
    coins INT(10) 
); 
+0

ありがとうたくさんの修正私は間違ったプロジェクト(手のひらの手のひら)であなたのコードを使用した –

+1

ここで私たちは完全にその新しい私をここで忘れて行く:P –