Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL SELECT un campo come NULL se non esiste nella tabella

Quello che vuoi non essere fatto in puro SQL.

In sostanza, vuoi che SQL possa selezionare in modo condizionale una colonna che potrebbe non esistere. Impossibile analizzare tale SQL:tutte le colonne selezionate devono esiste o la query non sarà valida.

Tuttavia, puoi ottenere questo codice dell'applicazione interrogando le tabelle del catalogo per ispezionare lo schema del database a cui sei connesso e creare dinamicamente il tuo SQL in base a quello.

Questa query può aiutare il codice della tua app a creare la tua query:

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