19 Stimmen

Feld aktualisieren wenn nicht Null

Ich habe eine Aktualisierungsanweisung, die die Felder x, y und z mit id = xx aktualisiert.

In der Tabelle habe ich ein paar verschiedene x_created_datetime-Felder (für verschiedene Teile des Datensatzes, die von verschiedenen Personen gepflegt/eingegeben werden). Ich möchte eine einzige Abfrage schreiben, die dieses Feld aktualisiert, wenn es null ist, es aber in Ruhe lässt, wenn es nicht null ist.

Was ich also habe, ist:

UPDATE newspapers
SET scan_notes = "data",
    scan_entered_by = "some_name",
    scan_modified_date = "current_unix_timestamp"
WHERE id = X

Was ich brauche, ist eine Möglichkeit, das Folgende hinzuzufügen, aber trotzdem immer die oben genannten Daten zu aktualisieren:

scan_created_date = "current_unix_timestamp"
where scan_created_date is null

Ich hoffe, dass ich dies ohne eine zweite Transaktion in der DB tun kann. Irgendwelche Ideen, wie dies zu erreichen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X