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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查字段是否存在并且不为空相关的知识,希望对你有一定的参考价值。

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

我正在尝试运行此查询,但收到此错误消息#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中完成它?

答案

您正在寻找的是DESCRIBE

DESCRIBE

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

以上是关于检查字段是否存在并且不为空的主要内容,如果未能解决你的问题,请参考以下文章