Christopher Fischbach: UPDATE mit IF verschachteln

Beitrag lesen

Hallo ChrisB,

vielen Dank für deine prompte Hilfe.

Funktionieren sollte:
SET spalte = [Wert, den IF zurueckgibt]

Also in etwa so:

SET delete_to   = IF(to_user = '1', 'y', 'n'),

delete_from = IF(to_user = '1', 'n', 'y')


>   
> Und wenn du nicht jeweils 'n' als Alternativwert fuer ein 'y' haben willst - dann kannst du an dessen Stelle natuerlich auch einfach den Spaltennamen hinschreiben, um den bestehenden Wert zu belassen.  
>   
> Btw: Welche Daten bilden die Spalten delete\_to und delete\_from ab? Aus welchem Grund laesst sich das nicht in einer Spalte unterbringen?  
>   
> MfG ChrisB  
  
Es geht um Kurznachrichten. Wenn der Empfänger eine Nachricht löscht, soll bei delete\_to der Wert 1 gesetzt werden. Beim Absender muss delete\_from auf 1 gesetzt werden. Erst wenn beide Benutzer die Nachricht als gelöscht markiert haben wird sie aus dem System geschmissen, sprich endgültig gelöscht. Daher kann ich es nicht in nur einer Spalte abbilden.  
  
Damit ich die Nachricht nicht vorher auslesen muss, dachte ich mir, ich kann ja anhand von "to\_user" erkennen welcher der beiden das "Löschen" auslöst und dann davon abhängig entweder delete\_to oder delete\_from auf 'y' setzen.  
  
Ich dachte man könne innerhalb des IF() auch Feldnamen direkt ansprechen. Hatte da wohl einen Denkfehler.  
  
Vielen Dank für die Hilfe. Werde es gleich probieren :)  
  
Liebe Grüße,  
Chris