Update Hilfe

oLde

Mitglied
Hallo,
ich wollte ein Datenbankeintrag ändern jedoch möchte ich, dass wenn der 'test'-Wert auf 0 steht, dass es so bearbeitet wird...

UPDATE `tabellenname` SET test = '1' WHERE id = '4'

und wenn der testwert auf 1 steht, dass es so bearbeitet wird...

UPDATE `tabellenname` SET test = '0' WHERE id = '4'

Ist es möglich, dies mit einem MySQL IF auszuführen? Ich würde es normalerweise mit PHP erst ausgeben lassen und dann extra bearbeiten lassen aber wenn es einfacher gehen würde, dann würde es mir Zeit erspaaren.

Ich bin über jede Antwort dankbar!

Mit freundlichen Grüßen
oLde
 
IF() geht bei MySQL im SET. kein Problem
SQL:
UPDATE 	`table`
SET 	test = IF(test=1,0,1)
WHERE 	id = 4

Wenn das Feld test aber als 0/1-Flag ahben willst, dass einfach nur gewechselt wird, kannst du das auch anders lösen
SQL:
UPDATE 	`table`
SET 	test = ABS(test-1)
WHERE 	id = 4

Achja, wenn id und test Numerische Felder sind, kannst du dir die ' sparen....
 
Zuletzt bearbeitet von einem Moderator:
Wenn das Feld test aber als 0/1-Flag ahben willst, dass einfach nur gewechselt wird, kannst du das auch anders lösen
SQL:
UPDATE 	`table`
SET 	test = ABS(test-1)
WHERE 	id = 4
Oder noch einfacher:
SQL:
UPDATE 	`table`
SET 	test = 1 - test
WHERE 	id = 4

\edit: Und weil es so schön ist, gleich noch eine Alternative:
SQL:
UPDATE 	`table`
SET 	test = NOT test
WHERE 	id = 4

Grüße,
Matthias
 
Zuletzt bearbeitet von einem Moderator:
Zurück