2

というテーブルを持つDBがありますconfigconfig_cstmこのテーブルには、ID によって構成テーブルに関連付けられたテーブルが含まれている可能性があります。

私は疑問に思っていました-1つの単純な選択ステートメントでこのテーブルの存在を動的にチェックする方法はありますか?

つまり、次のようなものです。

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

PHP で既存のテーブルの存在を確認する方法を知っています。ただし、これをすべて1つのMySQLステートメントで実行したかったのです。

助言がありますか?

4

2 に答える 2

1

MySQL 5 以降を使用している場合は、そのような条件付き機能にCASEを使用できます。

ただし、私見ですが、php を使用している場合は、すべてを SQL クエリに押し込もうとするのではなく、php で実行する必要があります。通常、あまり効率的ではありません。

于 2010-04-26T20:48:23.117 に答える
-1

あなたは「私のDB」について話していますが、私の経験では、通常、特定のDBにはテーブルが存在するか存在しません。同じクエリを多数の並列 DB に適用しようとしていますか?

もしそうなら、他のより大きな構造上の違いが生じる可能性があると思います.Satanic Puppyが言うように、適合するクエリを準備しようとするよりも、PHPまたは別のプレSQL言語でクエリを作成する方がはるかに良いでしょう.すべての金型。

于 2013-10-09T15:06:26.737 に答える