Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डुप्लीकेट कुंजी अद्यतन पर सशर्त (केवल कुछ शर्त सही होने पर ही अपडेट करें)

आप 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);

इसलिए IF किसी शर्त की जांच करता है और उसके पैरामीटर के रूप में प्रदान किए गए दो मानों में से एक लौटाता है। देखें 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. क्या मार्कडाउन (स्ट्रिप_टैग के साथ) एक्सएसएस हमलों को रोकने के लिए पर्याप्त है?

  2. मैं MySQL में किसी तालिका की अनूठी बाधाओं को कैसे दिखाऊं?

  3. MySQL फुलटेक्स्ट सर्च में गलत स्पेलिंग से निपटने का सबसे अच्छा तरीका

  4. Php . में अद्वितीय यादृच्छिक संख्या कैसे उत्पन्न करें

  5. MySQL:कम कार्डिनैलिटी/चयनात्मकता कॉलम =इंडेक्स कैसे करें?