如果表中不存在MySQL,则将字段选择为NULL



我喜欢对可能包含某些字段但可能不包含的表使用SELECT。否则,该值可以像JOIN LEFT对不存在的行所做的那样以NULL形式返回。

例如。类似这样的伪SQL:

SELECT id, email IF EXISTS, name, address FROM users;

应该在没有"email"字段的表"users"上无错误地运行,但返回email=NULL。

您想要的东西可以而不是在纯SQL中完成。

本质上,您希望SQL能够有条件地选择一个可能不存在的列。无法解析这样的SQL-选择的所有列都必须存在,否则查询将无效。

然而,您可以通过查询目录表来检查连接到的数据库的模式,并在此基础上动态构建SQL,从而实现这一点。

此查询可能有助于您的应用程序代码构建查询:

select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'users'
and TABLE_SCHEMA = 'YOUR-DB-NAME';

相关内容

  • 没有找到相关文章

最新更新