Вывести нулевое значение, если столбец отсутствует

Пожалуйста, извините, если это глупый вопрос.

Я хотел выбрать так много столбцов из разных таблиц. Поэтому я создал PHP-скрипт для того же. Скрипт работает правильно. Но некоторые столбцы отсутствуют в некоторых таблицах.

Поэтому, когда я запускаю скрипт, он выдает мне ошибку "неизвестный столбец в списке полей", что абсолютно правильно, потому что этот столбец отсутствует в этой таблице.

Здесь возникает мой вопрос: есть ли способ выбрать столбцы, если столбец отсутствует, он должен дать значение NULL вместо ошибки "Неизвестный столбец в списке полей".

Заранее спасибо

2 ответа

select * from information_schema.columns where table_name='xxxx' and TABLE_SCHEMA='xxxx' and column_name='xxxx' 

Это даст результат, если столбец присутствует для этой таблицы или нет

Я думаю, что вы можете сойти с рук с помощью COALESCE() функция MySQL

SELECT COALESCE(@maybe_col, null) AS norm_col FROM database;

https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html

Другие вопросы по тегам