यदि आपके पास एक ही नाम के परिणामसेट में एकाधिक कॉलम हैं, तो MySQL भी उन सभी को लौटाता है, लेकिन परिणामसेट में भी उनका वही नाम होगा, जब तक कि आप फ़ील्ड उपनाम का उपयोग नहीं करते। इसे साबित करने के लिए एक sqlfiddle बनाया यहां . शायद, आपकी क्लाइंट लाइब्रेरी 2 कॉलम के बीच अंतर नहीं कर सकती है। उदाहरण के लिए लार्वा के साथ यह एक ज्ञात समस्या है।
mysql और mariadb दोनों आपको टेबल नामों के साथ फ़ील्ड नामों को उपसर्ग करने की अनुमति देते हैं, लेकिन, फ़ील्ड नाम के हिस्से के रूप में तालिका का नाम वापस नहीं किया जाता है। हालांकि, अधिकांश क्लाइंट लाइब्रेरी mysql / mariadb द्वारा लौटाए गए परिणामसेट में कॉलम के लिए मेटाडेटा पुनर्प्राप्त करने में सक्षम हैं, जिसमें गैर-परिकलित कॉलम के लिए तालिका का नाम शामिल होगा। उदाहरण के लिए देखें mysqli_fetch_field_direct() समारोह।
आप यह निर्धारित करने के लिए मेटाडेटा से प्राप्त तालिका नाम का उपयोग कर सकते हैं कि कौन सा आईडी कॉलम किस तालिका से संबंधित है।