2011-07-12 29 views
5

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

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

回答

1

聚结仍然需要一个字段名,所以它不会帮助:

... COALESCE(non_existent_field, NULL) 

仍然会导致错误由于现场不存在。

+0

所以我注意到了。所有使用Google提示这不是一个选项。我真的希望有一个“如果存在”类型的东西。 – Anthony

+0

你可以加入information_schema.tables并以此为基础,但看起来很多工作没有足够的收获。 –

+0

基本上,我试图避免必须构建添加新自定义字段的逻辑。在前端,它会经过并查找所有可用的自定义字段(映射数组中已有的可用字段之外),并允许用户选择自定义字段。但是在提交时,我必须再次做同样的事情才能找出该字段属于哪个表,或者它是否存在于多个表中。如果该领域不存在,如果它不会返回任何东西,那将会容易得多。但我想这不是一个选项。 – Anthony

相关问题