• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

MySQL Fehler

Kookami

Minecrafter
Registriert
22 Oktober 2017
Beiträge
19
Diamanten
0
AUS BESTIMMTEN GRÜNDEN HABE ICH DEN CODE ENTFERNT !!!!

Hallo.
Ich rätsele die ganze Zeit schon daran wie ich diesen Fehler beheben kann !
Ich bin nicht der Beste in MySQL und hoffe deswegen das mir jemand helfen kann.

Also Problem Nummer 1:
Ich code ein "Jobsystem" und muss dafür die Spieler mit dem bestimmten Job in MySQL abspeichern.
Da man den Job wechseln kann und darf wie oft man will arbeite ich mit einer Update Methode.
Wenn der Spieler sich also schon in einem Job befindet wird dieser einfach überschrieben !

Damit diese Update Methode funktioniert habe ich erstmal abgefragt ob der Spieler sich schon in der Datenbank befindet:


Danach hab ich die Update Methode geschrieben.

Der Default Wert von uuid und job ist null !
Das Problem ist jetzt das die Daten doppelt abgespeichert werden :
(Die Werte sind vom gleichen Spieler )

  • uuid: - jobs:
  • (uuid) - null
  • null - ( job)
(ich hoffe man kann erkennen das das eine MySQL Tabelle sein soll!)






Problem 2:
Sobal ich den command zweimal ausführe kriege ich folgenden Fehler :

[12:23:55 WARN]: 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 'VALUES ("1e42fdaa-6f05-****f6-****8-*81***3d9848")' at line 1
 
Zuletzt bearbeitet:

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
Also wegen dem Doppeltem liegt es daran dass du 2 Inserts hast, dass solltest du als 1 Befehl machen, so Fügst du nur 2 sachen ein.
Beim Update brauchst du wenn ich mich nicht irre noch eine WHERE statement, damit MYSQL auch weis wo es was ändern soll (das geht übrigens auch als 1 Befehl)
 
F

Figz

Guest
Auch wenn das Thema erledigt ist, wollte ich noch eine Sache anmerken..

Der Default Wert von uuid und job ist null !
Das Problem ist jetzt das die Daten doppelt abgespeichert werden :
(Die Werte sind vom gleichen Spieler )

  • uuid: - jobs:
  • (uuid) - null
  • null - ( job)
(ich hoffe man kann erkennen das das eine MySQL Tabelle sein soll!)

Dieses Problem kannst UND solltest du lösen! Ganz einfach.. Deine Spalte UUID sollte als Primary-Key definiert sein. Somit darf er weder NULL sein, noch kann er doppelt in der Tabelle vorkommen.
 
Oben