Jeśli w zestawie wyników masz wiele kolumn o tej samej nazwie, nawet mysql zwróci je wszystkie, ale będą one również miały tę samą nazwę w zestawie wyników, chyba że użyjesz aliasu pola. Utworzono sqlfiddle, aby to udowodnić tutaj . Prawdopodobnie twoja biblioteka klienta nie może rozróżnić dwóch kolumn. Jest to znany problem, na przykład w przypadku laravela.
Zarówno mysql, jak i mariadb umożliwiają poprzedzenie nazw pól nazwami tabel, ale nazwa tabeli nie jest zwracana jako część nazwy pola. Jednak większość bibliotek klienckich jest w stanie pobrać metadane dla kolumn w zestawie wyników zwracanym przez mysql / mariadb, który zawiera nazwę tabeli dla kolumn nieobliczonych. Zobacz na przykład mysqli_fetch_field_direct() funkcja.
Możesz użyć nazwy tabeli pobranej z metadanych, aby określić, która kolumna identyfikatora należy do której tabeli.