Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL SELECT un champ comme NULL s'il n'existe pas dans la table

Ce que vous voulez ne peut pas être fait en SQL pur.

Essentiellement, vous voulez que SQL puisse sélectionner conditionnellement une colonne qui n'existe peut-être pas. Ce SQL n'a pas pu être analysé - toutes les colonnes sélectionnées doivent existe ou la requête sera invalide.

Vous pouvez cependant obtenir ce code d'application en interrogeant les tables du catalogue pour inspecter le schéma de la base de données à laquelle vous êtes connecté et créer dynamiquement votre SQL en fonction de cela.

Cette requête peut aider le code de votre application à créer votre requête :

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