Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mysql apa sintaks yang tepat untuk pernyataan pembaruan bersyarat ini?

Seharusnya ditulis seperti ini:

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

Perhatikan bahwa: Saya menulis ELSE berpisah dengan cara ini, karena default untuk ELSE adalah NULL jika kondisi CASE ekspresi tidak valid, jadi ini akan menyetelnya ke nilai asli bukan ke NULL nilai.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa apakah database mysql ada, lakukan tindakan berdasarkan hasil

  2. Bagaimana cara menyimpan Java Instan di database MySQL

  3. Bisakah saya memperbarui nilai INT + 1 dan mengembalikan nilai baru?

  4. Cara Menambahkan Angka Nol Awal ke Angka di MySQL

  5. Perbedaan antara BINARY(16) dan CHAR(32) saat menyimpan MD5 di database