我需要从具有三种可能性的表中获取值:1)该字段存在且不为空,因此它返回字段的值2)该字段存在但为空,因此它返回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 my_table;


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

关于mysql - 检查字段是否存在并且不为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56732463/

10-12 12:52
查看更多