MySQL如果表中不存在字段,请选择空字段
我喜欢在可能包含某些字段但可能不包含的表上使用SELECT。如果不是,则该值可以像JOIN LEFT对不存在的行所做的那样返回为NULL 类似这样的伪SQL:MySQL如果表中不存在字段,请选择空字段,mysql,Mysql,我喜欢在可能包含某些字段但可能不包含的表上使用SELECT。如果不是,则该值可以像JOIN LEFT对不存在的行所做的那样返回为NULL 类似这样的伪SQL: SELECT id, email IF EXISTS, name, address FROM users; 应该在没有“email”字段的表“users”上运行而不出错,但返回email=NULL。您想要的可以而不是在纯SQL中完成 本质上,您希望SQL能够有条件地选择可能不存在的列。无法分析此类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';
这可能会有帮助:我可以使用其他sql语句获得表的结构,但这既复杂又昂贵。另一方面,“SELECT*”将输出所有现有的列,而不需要知道以前有哪些列。因此,我希望不需要事先进行额外的查询就能获得这种便利。