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

Mysql 'VALUES फ़ंक्शन' पदावनत है

मूल रूप से, MySQL कुछ भविष्य के काम के लिए रास्ता साफ करने के लिए मान फ़ंक्शन के लंबे समय से गैर-मानक उपयोग को हटाने की ओर देख रहा है जहां SQL मानक कुछ अलग के लिए VALUES कीवर्ड का उपयोग करने की अनुमति देता है, और क्योंकि VALUES फ़ंक्शन सबक्वायरीज़ में कैसे काम करता है या नहीं ON DUPLICATE KEY UPDATE क्लॉज में आश्चर्यजनक हो सकता है।

आपको VALUES क्लॉज में एक उपनाम जोड़ना होगा और फिर ON DUPLICATE KEY UPDATE क्लॉज में गैर-मानक VALUES फ़ंक्शन के बजाय उस उपनाम का उपयोग करना होगा, उदा। बदलें

INSERT INTO foo (bar, baz) VALUES (1,2)
ON DUPLICATE KEY UPDATE baz=VALUES(baz)

करने के लिए

INSERT INTO foo (bar, baz) VALUES (1,2) AS new_foo
ON DUPLICATE KEY UPDATE baz=new_foo.baz

(यह केवल mysql 8+ पर काम करता है, पुराने संस्करणों पर या कम से कम 10.7.1 के माध्यम से mariadb के किसी भी संस्करण में नहीं)

https://dev.mysql.com/worklog/task/?id=से 13325 :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP/अपाचे:PHP घातक त्रुटि:अपरिभाषित फ़ंक्शन पर कॉल करें mysql_connect ()

  2. MySQL:विभिन्न सर्वरों पर स्थित कई डेटाबेस में क्वेरी में शामिल हों

  3. पुनर्निर्माण पर प्रारंभिक डेटा डालने वाला इकाई फ्रेमवर्क

  4. अनुक्रमणिका सहित एक MySQL तालिका की प्रतिलिपि बनाएँ

  5. MySQL क्वेरी - प्रति समूह हाल की प्रविष्टियाँ