sql >> Databasteknik >  >> RDS >> Mysql

mysql vad är rätt syntax för denna villkorliga uppdateringssats

Det ska skrivas så här:

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'); 

Observera att: Jag skrev ELSE del på det här sättet, eftersom standarden för ELSE är NULL om villkoret för CASE uttrycket är inte giltigt, så detta sätter det till det ursprungliga värdet inte till NULL värde.




  1. Hur återanvänder man en underfråga i sql?

  2. Mysql - Mysql2::Fel:Felaktigt strängvärde:

  3. Hur många where-klausuler i mysql-query är för många?

  4. PHP / MYSQL Lägg till knapp i kolumn