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

Mysql Comment sélectionner uniquement dans une colonne si la colonne existe

Cette requête vous indiquera si une colonne existe.

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name'

Si vous souhaitez vérifier si certaines colonnes existent, effectuez une instruction de sélection, vous devez d'abord vérifier que vos colonnes existent. Effectuez ensuite la sélection :

if (exists (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'myview' AND COLUMN_NAME = 'Period') and exists (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'myview' AND COLUMN_NAME = 'Country'))
begin
    select `Period`, `Country` from myview
end

Si la condition IF est vraie, alors vous exécuterez n'importe quoi à l'intérieur de BEGIN et END.