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

MySQL INSERT INTO / ON DUPLICATE KEY साथ SELECT स्टेटमेंट इश्यू

क्या यह काम जितना आसान कुछ होगा?

insert into cities (city, state, size)
select city, state, count(*) as size from listings
group by city, state

group by यह सुनिश्चित करना चाहिए कि कोई डुप्लीकेट नहीं हैं ताकि on duplicate key की कोई आवश्यकता न हो . योग () + सबक्वेरी चीज़ जो आप कर रहे थे, ऐसा लगता है कि आप बस एक गिनती (*) करने की कोशिश कर रहे थे।

आपको जो विशिष्ट त्रुटि मिल रही थी वह आकार =योग (गिनती) के कारण थी। एक बैच डालने में ऐसा करने का सही तरीका आकार =मान (आकार) होगा, दस्तावेज़ देखें values()

संपादित करें:

यदि यह प्रत्येक शहर के लिए एक और प्रविष्टि जोड़ रहा है तो शहर पर एक अद्वितीय अनुक्रमणिका नहीं है और डुप्लिकेट कुंजी पर वैसे भी कुछ नहीं होगा।

यदि आप (शहर, राज्य) पर एक अद्वितीय अनुक्रमणिका जोड़ते हैं तो आप on duplicate key update size=values(size) पर जोड़ सकते हैं उपरोक्त क्वेरी के लिए और यह प्रत्येक रिकॉर्ड को जगह में अपडेट कर देगा।



  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 का उपयोग करके MySQL डेटाबेस तालिका में अंतिम रिकॉर्ड कैसे प्राप्त करूं?

  2. क्वेरी का परिणाम एक पंक्ति के रूप में प्राप्त करें?

  3. SQL सर्वर में (MySQL) LIMIT कैसे लिखें?

  4. एक कस्टम MySQL समारोह Haversine दूरी की गणना करने के लिए?

  5. पृष्ठ को ताज़ा करते समय डेटाबेस में डेटा सम्मिलित करना बंद करें