Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql какъв е правилният синтаксис за този оператор за условна актуализация

Трябва да се напише по следния начин:

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

Имайте предвид, че: Написах ELSE част по този начин, защото по подразбиране за ELSE е NULL ако условието на CASE изразът не е валиден, така че това ще го зададе на оригиналната стойност, а не на NULL стойност.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Копиране/дублиране на SQL ред с blob/текст, как да направите това?

  2. Как да конвертирам зависима подзаявка в присъединяване за по-добра производителност?

  3. Проблем със съхраняването на немски думи в MySql DB....?

  4. Топ 5 инструмента за наблюдение на MySQL

  5. Mysql - намерете таблица в цялата база данни