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

Conditional ON DUPLICATE KEY UPDATE (Update hanya jika kondisi tertentu benar)

Anda salah menggunakan pernyataan IF

INSERT INTO userlist (username, lastupdate, programruncount, ip)
VALUES (:username, NOW(), 1, :ip)
ON DUPLICATE KEY UPDATE
lastupdate = IF(lastupdate > NOW() - INTERVAL 20 MINUTE, NOW(), lastupdate),
programruncount = IF(lastupdate > NOW() - INTERVAL 20 MINUTE, programruncount + 1,   programruncount),
ip = IF(lastupdate > NOW() - INTERVAL 20 MINUTE, :ip, ip);

jadi JIKA memeriksa suatu kondisi dan mengembalikan salah satu dari dua nilai yang disediakan sebagai parameternya. Lihat Operator Kontrol Aliran MySQL .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kesalahan saat membaca tabel keanggotaan asp.net di MySQL

  2. Pencarian langsung menggunakan Codeigniter Mysql

  3. mySQL menemukan penipuan dan menghapusnya

  4. Mengurutkan hasil kueri berdasarkan bidang dari tabel yang berbeda (MySQL)

  5. membuat nomor telepon dapat diklik untuk memanggil layar di ponsel?