【问题标题】:Is there a way to query for a possible non-existent column in mysql?有没有办法查询mysql中可能不存在的列?
【发布时间】:2011-10-03 21:35:36
【问题描述】:

我有一个脚本,用户可以在其中跨多个表选择一个字段。它使用Union 来获取所有行。现在,我有一个映射数组来指示每个表中是否存在特定字段,如果不存在,它使用"" as field_name 来检查所有内容。

我想知道是否有办法在查询中引用可能不存在的列,例如COALESCE,这样如果该列不存在,而不是抛出错误,它只是返回一个默认值.

【问题讨论】:

    标签: mysql coalesce


    【解决方案1】:

    coalesce 仍然需要一个字段名,所以它没有帮助:

    ... COALESCE(non_existent_field, NULL)
    

    由于字段不存在,仍然会导致错误。

    【讨论】:

    • 所以我注意到了。所有谷歌搜索都表明这不是一个选择。我真的希望有一个“如果存在”类型的东西。
    • 你可以加入 information_schema.tables 并以此为基础,但似乎需要做很多工作却没有足够的收获。
    • 基本上,我试图避免为添加新的自定义字段构建逻辑。在前端,它会遍历并查找所有可用的自定义字段(映射数组中已经可用的字段除外),并允许用户选择自定义字段。但是在提交时,我必须再次做同样的事情来找出该字段属于哪个表,或者它是否存在于多个表中。如果该字段不存在,如果它什么都不返回,那就容易多了。但我想这不是一个选择。
    猜你喜欢
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    相关资源
    最近更新 更多