2

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

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

换句话说,类似:

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

我知道我将如何检查 PHP 中是否存在现有表。不过,我想在一个 MySQL 语句中完成这一切。

有什么建议么?

4

2 回答 2

1

如果您使用的是 MySQL 5 或更高版本,则可以将CASE用于那种条件功能。

恕我直言,但是,如果您使用的是 php,则应该在 php 中执行此操作,而不是尝试将其全部塞入 SQL 查询中。它通常不是很有效。

于 2010-04-26T20:48:23.117 回答
-1

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

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

于 2013-10-09T15:06:26.737 回答