我需要从表中获取一个值,有三种可能性:1)该字段存在且不为空,因此返回该字段的值2)该字段存在但为空,因此返回is-null- string 3) 该字段不存在,因此返回 not-existing-string
我正在尝试运行此查询,但收到此错误消息#1054 - “字段列表”中的未知列“m.my_field”
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/