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

MySQL 5.7:साधारण JSON_ARRAY को पंक्तियों में बदलें

आप इसे MySQL 8.0 में JSON_TABLE() के साथ कर सकते हैं। :

select r.res from mytable, 
 json_table(mytable.content, '$[*]' columns (res int path '$')) r 
where mytable.id = 1

मैंने MySQL 8.0.17 पर परीक्षण किया, और यह आउटपुट है:

+------+
| res  |
+------+
|    3 |
|    4 |
+------+

यदि आप MySQL 8.0 से पुराने संस्करण का उपयोग करते हैं, तो आपके पास ये विकल्प हैं:

  • कुछ असंभव रूप से जटिल SQL समाधान खोजें। समस्या को हल करने का यह लगभग हमेशा गलत तरीका है, क्योंकि आप कोड के साथ समाप्त होते हैं जो बनाए रखने के लिए बहुत महंगा है।
  • JSON सरणी को यथावत प्राप्त करें, और इसे एप्लिकेशन कोड में विस्फोटित करें।
  • अपने डेटा को सामान्य करें ताकि JSON सरणियों का उपयोग करने के बजाय आपके पास प्रति पंक्ति एक मान हो।

मुझे अक्सर स्टैक ओवरफ्लो पर MySQL में JSON का उपयोग करने के बारे में प्रश्न मिलते हैं जो मुझे विश्वास दिलाते हैं कि इस सुविधा ने 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 OUTFILE --सुरक्षित-फ़ाइल-निजी त्रुटि में निर्यात कर रहा है

  4. चर नाम के साथ तालिका बनाना php mysql

  5. MySQL सी # कनेक्शन स्ट्रिंग विफलता