2017-03-02 6 views
0

Ich versuche, eine Tabelle in MySQL zu aktualisieren und dies ist der Code:MySql Update-Fehler Java

  PreparedStatement ps = con.prepareStatement("UPDATE PbnNumberPlayer SET jointime=?, unique=? WHERE server=?"); 
      ps.setInt(1, jointime); 
      ps.setInt(2, unique); 
      ps.setString(3, name); 

      ps.executeUpdate(); 
      ps.close(); 

Der Fehler, was ich habe ist:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'unique=0 WHERE server='pbns4'' at line 1 
+0

Wir müssten den gesamten Codeblock sehen, um festzustellen, wo das Problem liegt. Zum Beispiel gibt es keine Möglichkeit zu verstehen, welche Werte "Zeit", "Einzigartig" oder "Name" im Moment haben. Bitte posten Sie den gesamten Codeabschnitt. – dat3450

+0

Vielleicht versuchen Sie 'ps.executeQuery();' anstelle von 'ps.executeUpdate();' ebenfalls. – dat3450

+0

ps.executeUpdate(); ist was du verwenden willst. Überprüfen Sie den Inhalt der Variablen ** name **. Es sieht so aus, als ob du ein Problem hast. Überprüfen Sie in der Tat den Inhalt aller Ihrer Variablen. Stellen Sie sicher, dass sie enthalten, was Sie erwarten könnten. – DevilsHnd

Antwort

1

Put Backticks in Abfrage Ursache einzigartig ist reserviert keywork in mysql

PreparedStatement ps = con.prepareStatement("UPDATE PbnNumberPlayer SET `jointime`=?, `unique`=? WHERE `server`=?"); 

hier für weitere Referenzgelesen

+1

Vielen Dank! +1 Sonderbare Sache ist, funktioniert mein anderer Code perfekt ohne diese. Aber jetzt werde ich sie nur für den Fall hinzufügen. – Mukri