sql >> Database >  >> RDS >> Mysql

MariaDB:kan ik dubbele kolomnamen ophalen zonder 'AS' te gebruiken

Als je meerdere kolommen in een resultatenset hebt met dezelfde naam, dan retourneert zelfs mysql ze allemaal, maar ze zullen ook dezelfde naam hebben in de resultatenset, tenzij je een veldalias gebruikt. hier een sqlfiddle gemaakt om het te bewijzen . Waarschijnlijk kan uw klantenbibliotheek geen onderscheid maken tussen de 2 kolommen. Dit is een bekend probleem met bijvoorbeeld laravel.

Met zowel mysql als mariadb kunt u de veldnamen vooraf laten gaan door tabelnamen, maar de tabelnaam wordt niet geretourneerd als onderdeel van de veldnaam. De meeste clientbibliotheken kunnen echter metagegevens ophalen voor de kolommen in een resultatenset die wordt geretourneerd door mysql / mariadb, die de tabelnaam voor niet-berekende kolommen zou bevatten. Zie bijvoorbeeld mysqli_fetch_field_direct() functie.

U kunt de tabelnaam gebruiken die is opgehaald uit metagegevens om te bepalen welke id-kolom bij welke tabel hoort.




  1. verbinding maken met MySQL vanaf de opdrachtregel

  2. Hoe twee schema's in PostgreSQL te vergelijken?

  3. Mijn PostgreSQL-database heeft onvoldoende schijfruimte

  4. Een varchar vol met komma's gescheiden waarden doorgeven aan een SQL Server IN-functie