Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL SELECT um campo como NULL se não existir na tabela


O que você quer pode não ser feito em SQL puro.

Essencialmente, você deseja SQL que pode selecionar condicionalmente uma coluna que pode não existir. Esse SQL não pôde ser analisado - todas as colunas selecionadas devem existir ou a consulta será inválida.

No entanto, você pode conseguir isso no código do aplicativo consultando as tabelas de catálogo para inspecionar o esquema do banco de dados ao qual está conectado e construir seu SQL dinamicamente com base nisso.

Esta consulta pode ajudar o código do seu aplicativo a criar sua consulta:
select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'users'
and TABLE_SCHEMA = 'YOUR-DB-NAME';