Update Fall, Wenn mit mehreren Bedingungen

Ich habe diese Tabelle:

CREATE TABLE IF NOT EXISTS `my_table` (
  `A` int(11) NOT NULL,
  `B` int(11) NOT NULL,
  `C` varchar(50) NOT NULL,
  `D` varchar(30) NOT NULL,
  PRIMARY KEY (`A`,`B`,`C`)
)

Ich aktualisieren möchten Sie mehrere Einträge in nur einer Abfrage. Ich versuchte dies:

UPDATE my_table
SET D = CASE
    WHEN (A = 6 AND B = 1 AND C = 'red') THEN '1#2#3#5#4'
    WHEN (A = 8 AND B = 1 AND C = 'green') THEN '5#6#7#8#9'
END

Aber diese Abfrage aktualisiert alle Einträge in der Tabelle. Es aktualisiert sich perfekt der Wert von 'D' der beiden Einträge, die ich möchte zu aktualisieren, aber es löscht auch die Werte von "D" von der anderen Einträge, und ich möchte, dass Sie bleiben mit Ihren bisherigen Werten.

InformationsquelleAutor DandyCC | 2014-11-13
Schreibe einen Kommentar