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

ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ с условие WHERE

Използването на IF() трябва да работи, макар че не е хубаво:

INSERT INTO table1 SET 
 field1=aa, 
 field2=bb, 
 field3=cc 
ON DUPLICATE KEY UPDATE SET 
 field1 = IF( field4 = zz, aa, field1 ),
 field2 = IF( field4 = zz, bb, field2 ),
 field3 = IF( field4 = zz, cc, field3 )

Актуализирайте полетата с нови стойности само ако условието е изпълнено, в противен случай запазете старите.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATEDIFF() Примери – MySQL

  2. не можа да зададе стойност на поле от задаване на отражение

  3. SQL :Пребройте броя на събитията, възникващи в изходната колона и изчислете някакъв процент въз основа на събитията

  4. Връщане на заявка в редов формат вместо в колона

  5. Създайте обобщен изглед в MySQL, като завъртите ред в динамичен брой колони