UPDATE nur ein Datensatz MySQL

10/06/2021 01:07 PreBrexit#1
Hallo, ich möchte bei MySQL ein Update befehl ausführen, dieser sollte aber so aufgebaut sein:
Ich möchte die Datenbank durchsuchen ob die Spalte PlayerTwo den Wert: 0 hat, wenn eins vorhanden ist soll er aber nur 1 einzige Spalte aktualisieren, nicht alle.
Wie bekomme ich das hin?
10/06/2021 18:03 Mikesch01#2
Hi. Willst du wirklich eine bestimmte Spalte ändern oder willst du die Spalte PlayerTwo für eine bestimmte Zeile ändern?

Für bestimmte Spalte:
Code:
UPDATE tabellename SET bestimmteSpalte = 'neuer Wert' WHERE PlayerTwo = 0;
Das updated die Spalte "bestimmteSpalte" für alle Zeilen, die in der Spalte "PlayerTwo" eine 0 haben.

Gerne kannst du deine Frage spezifizieren, wenn es nicht das war, was du benötigt hast.
07/21/2022 02:30 TechnoHerz#3
UPDATE table SET PlayerTwo = 'new_value'
WHERE id = (SELECT id FROM table WHERE PlayerTwo=0 ORDER BY ID LIMIT 1)


Sowas kann man mit Subselects lösen.
Man sucht sich einfach die erste id heraus, wo PlayerTwo = 0 ist.
Man kann auch hinter dem ORDER BY ein "DESC" anhängen. Standardmäßig ist es ASC.

DESC = Letzter Datensatz der Zutrifft (Datensatz mit der höchsten id)
ASC = Erster Datensatz der Zutrifft / (Datensatz mit der niedrigsten id)