sql >> Databáze >  >> RDS >> Mysql

mysql, jaká je správná syntaxe tohoto příkazu podmíněné aktualizace

Mělo by to být napsáno takto:

UPDATE tablename
SET fieldX = CASE WHEN fieldA = 'value1' THEN 'xxx' ELSE fieldX END,
    fieldY = CASE WHEN fieldA = 'value2' THEN 'yyy' ELSE fieldY END
WHERE fieldA IN ('value1', 'value2'); 

Poznámka: Napsal jsem ELSE část tímto způsobem, protože výchozí pro ELSE je NULL pokud je podmínka CASE výraz není platný, takže se nastaví na původní hodnotu, nikoli na NULL hodnota.




  1. Oracle, jak importovat chybějící třídy Java při volání jazyka Java z plsql

  2. jak zrušit všechny databáze kromě několika v postgresu

  3. MySQL:Jak mohu použít oddělovače v triggerech?

  4. MySQL:data před rokem 1970