Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL SELECT ein Feld als NULL, wenn es nicht in der Tabelle vorhanden ist

Was Sie wollen, kann nicht in reinem SQL erfolgen.

Im Wesentlichen möchten Sie SQL, das eine möglicherweise nicht vorhandene Spalte bedingt auswählen kann. Solches SQL konnte nicht geparst werden - alle ausgewählten Spalten müssen existieren oder die Abfrage ist ungültig.

Sie können dies jedoch als Anwendungscode erreichen, indem Sie die Katalogtabellen abfragen, um das Schema der Datenbank zu überprüfen, mit der Sie verbunden sind, und Ihre SQL basierend darauf dynamisch erstellen.

Diese Abfrage kann Ihrem App-Code helfen, Ihre Abfrage zu erstellen:

select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'users'
and TABLE_SCHEMA = 'YOUR-DB-NAME';