Nếu bạn có nhiều cột trong tập kết quả có cùng tên, thì ngay cả mysql cũng trả về tất cả chúng, nhưng chúng cũng sẽ có cùng tên trong tập kết quả, trừ khi bạn sử dụng bí danh trường. Đã tạo sqlfiddle để chứng minh điều đó tại đây . Có thể, thư viện khách hàng của bạn không thể phân biệt giữa 2 cột. Đây là một vấn đề đã biết, chẳng hạn như với laravel.
Cả mysql và mariadb đều cho phép bạn đặt tiền tố tên trường với tên bảng, nhưng, tên bảng không được trả về dưới dạng một phần của tên trường. Tuy nhiên, hầu hết các thư viện máy khách đều có thể truy xuất siêu dữ liệu cho các cột trong tập kết quả được trả về bởi mysql / mariadb, sẽ bao gồm tên bảng cho các cột không được tính toán. Xem ví dụ mysqli_fetch_field_direct () chức năng.
Bạn có thể sử dụng tên bảng được truy xuất từ siêu dữ liệu để xác định cột id thuộc về bảng nào.