如果存在问题,MySQL加入表

时间:2010-04-26 20:42:49

标签: mysql outer-join

我有一个名为config的数据库。该表可能有一个config_cstm表,该表与id与配置表相关。

我想知道 - 有没有办法在一个简单的select语句中动态检查这个表的存在?

换句话说,比如:

select * 
from   config 
(IF EXISTS config_cstm THEN 
           LEFT OUTER JOIN config_cstm ON config.id = config_cstm.id_c)

我知道如何检查PHP中是否存在现有表。我想在一个MySQL语句中完成所有这些。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果您使用的是MySQL 5或更高版本,则可以使用CASE进行此类条件功能。

然而,恕我直言,如果你使用的是php,你应该在php中进行,而不是试图将其全部用于SQL查询。它通常效率不高。

答案 1 :(得分:-1)

您在谈论“我的数据库”,但根据我的经验,通常在给定的数据库中,表存在或不存在。您是否尝试将同一查询应用于多个并行数据库?

如果是这样,我会认为可能会出现其他更重要的结构差异,正如撒旦Puppy所说,用PHP或其他pre-SQL语言构建查询要好几英里,而不是尝试准备查询这将适合所有模具。