检查字段是否存在并且不为空

时间:2019-06-24 08:17:14

标签: mysql sql select

我需要从三种可能的表中获取值:1)该字段存在且不为null,因此它返回该字段的值2)该字段存在但为null,因此它返回is-null-字符串3)该字段不存在,因此它返回not-existing-string

我正在尝试运行此查询,但收到此错误消息 #1054 - Unknown column 'm.my_field' in 'field list'

SELECT if (exists(SELECT *
                  FROM information_schema.COLUMNS
                  WHERE TABLE_NAME = 'my_table' AND COLUMN_NAME = 'my_field'
                 ), IFNULL(m.my_field, 'is-null-string'), 'not-existing-string'
       ) AS my_field,
       m.*
FROM my_table m

有什么主意如何在mysql 5.6中完成ID?

1 个答案:

答案 0 :(得分:0)

您要寻找的是DESCRIBE

DESCRIBE my_table;

查看结果以查看您的字段是否存在。注意,您不希望此代码出现在您的应用程序中。您需要知道表字段才能运行查询。您可能只使用它来生成一些样板代码。