1
SELECT IF((
SELECT COUNT(TABLE_NAME)
FROM information_schema.tables
WHERE TABLE_SCHEMA='database0' AND TABLE_NAME='table'
) >0 , (
SELECT id
FROM database1.table
WHERE id NOT IN (SELECT id FROM database0.table)
), NULL) AS pk_value;
テーブルdatabase0.table
が存在しない可能性があります。テーブルが存在しない場合は、IF
ステートメントのtrue
節をスキップします。 IF
ステートメントがNULL
を返しても、database0.table
が存在しないというエラーが表示されます。テーブルが存在しない場合にエラーをスローするのではなく、クエリがNULL
を返すようにするにはどうすればよいですか?IFチェック付きテーブルが存在します。
、これは '手段IF:次のように値にアクセスすると
:あなただけの実行時に評価される関数、としてそれを保存することができます'関数は手続き型言語の' IF'文のように振る舞いません。テーブルが存在しない場合、クエリはIF関数が何をしても正常にコンパイルされません。 –