मैंने अपने सिस्टम को अपग्रेड किया है और मैंने जिस वेब एप्लिकेशन पर काम कर रहा हूं, उसके लिए MySql 5.7.9 को php के साथ इंस्टॉल किया है। मेरे पास एक क्वेरी है जो गतिशील रूप से बनाई गई है, और जब MySql के पुराने संस्करणों में चलाया जाता है तो यह ठीक काम करता है। 5.7 में अपग्रेड करने के बाद से मुझे यह त्रुटि मिली:
SELECT लिस्ट का एक्सप्रेशन # 1 GROUP BY क्लॉज में नहीं है और इसमें नॉनग्रिगेटेड कॉलम 'support_desk.mod_users_groups.group_id' शामिल है, जो ग्रुप BY क्लॉज में कॉलम पर कार्यात्मक रूप से निर्भर नहीं है; यह sql_mode = only_full_group_by के साथ असंगत है
सर्वर SQL मोड्स के विषय पर मैसूर 5.7 के लिए मैनुअल पेज पर ध्यान दें ।
यह प्रश्न है जो मुझे परेशान कर रहा है:
SELECT mod_users_groups.group_id AS 'value',
group_name AS 'text'
FROM mod_users_groups
LEFT JOIN mod_users_data ON mod_users_groups.group_id = mod_users_data.group_id
WHERE mod_users_groups.active = 1
AND mod_users_groups.department_id = 1
AND mod_users_groups.manage_work_orders = 1
AND group_name != 'root'
AND group_name != 'superuser'
GROUP BY group_name
HAVING COUNT(`user_id`) > 0
ORDER BY group_name
मैंने इस मुद्दे पर कुछ गुगली की, लेकिन मुझे यह समझने के लिए only_full_group_by
पर्याप्त नहीं है कि क्वेरी को ठीक करने के लिए मुझे क्या करने की आवश्यकता है। क्या मैं only_full_group_by
विकल्प को बंद कर सकता हूं , या क्या मुझे कुछ और करने की आवश्यकता है?
कृपया मुझे बताएं कि क्या आपको और अधिक जानकारी चाहिये?
not a GROUP BY expression
" वह तो है। उनके पास बस एक संख्यात्मक त्रुटि कोड और कोई संदेश नहीं हो सकता है।