mysql - 检查字段是否存在且不为空
问题描述
我需要从具有三种可能性的表中获取一个值:1)该字段存在并且它不为空,因此它返回该字段的值 2)该字段存在但它为空,因此它返回 is-null-string 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 中完成它吗?
解决方案
您正在寻找的是DESCRIBE
:
DESCRIBE my_table;
查看结果以查看您的字段是否存在。请注意,您不希望此代码出现在您的应用程序中。您需要知道您的表字段才能运行查询。您可能只使用它来生成一些样板代码。
推荐阅读
- c# - 如何在 ASP.Net Core MVC 中测试 NotFound()
- bash - 摩卡失败后如何继续bash脚本
- html - 段落旁边的 CSS HTML 图像 - 背景丢失
- javascript - 交换字体真棒字体
- leaflet - 使用 CMS 填充 [传单] 标记(例如 Wordpress、Drupal 等)
- python - 如何制作 discord.py tempmute
- jquery - 如何验证 Laravel 中的每个数组索引
- typescript - 如何扩展父类方法对象字面量返回类型?
- python-3.x - 如何将特定的实例变量传递给 Python 中的方法?
- python - PAHO:on_message 虽然已定义但未调用