sql >> Base de Datos >  >> RDS >> Mysql

MariaDB:¿Puedo recuperar nombres de columnas duplicados sin usar 'AS'?

Si tiene varias columnas en un conjunto de resultados con el mismo nombre, incluso mysql las devolverá todas, pero también tendrán el mismo nombre en el conjunto de resultados, a menos que use un alias de campo. Creó un sqlfiddle para probarlo aquí . Probablemente, su biblioteca cliente no puede distinguir entre las 2 columnas. Este es un problema conocido, por ejemplo, con laravel.

Tanto mysql como mariadb le permiten prefijar los nombres de los campos con nombres de tablas, pero el nombre de la tabla no se devuelve como parte del nombre del campo. Sin embargo, la mayoría de las bibliotecas cliente pueden recuperar los metadatos de las columnas en un conjunto de resultados devuelto por mysql/mariadb, que incluiría el nombre de la tabla para las columnas no calculadas. Ver por ejemplo mysqli_fetch_field_direct() función.

Puede usar el nombre de la tabla obtenido de los metadatos para determinar qué columna de identificación pertenece a qué tabla.