Om du har flera kolumner i en resultatuppsättning med samma namn, returnerar till och med mysql dem alla, men de kommer att ha samma namn i resultatuppsättningen också, om du inte använder ett fältalias. Skapade en sqlfiddle för att bevisa det här . Förmodligen kan ditt klientbibliotek inte skilja mellan de två kolumnerna. Detta är ett känt problem till exempel med laravel.
Både mysql och mariadb låter dig prefixa fältnamnen med tabellnamn, men tabellnamnet returneras inte som en del av fältnamnet. De flesta klientbibliotek kan dock hämta metadata för kolumnerna i en resultatuppsättning som returneras av mysql / mariadb, som skulle inkludera tabellnamnet för icke-beräknade kolumner. Se till exempel mysqli_fetch_field_direct() funktion.
Du kan använda tabellnamnet som hämtas från metadata för att bestämma vilken id-kolumn som hör till vilken tabell.