0

私はグーグルとここで検索しましたが、私の質問に対する答えが見つかりませんでした.

そのようにクエリ(ストアドプロシージャではない)でIFを使用しようとしています:

IF EXISTS (SELECT *  FROM TABLE WHERE COLUMN=VALUE) THEN
DO SOMETHING
END IF;

MySql Workbench で試してみましたが、うまくいきませんでした (構文エラー)。

そのように IF を使用できるかどうかは誰にもわかりますか?

前もって感謝します。

4

2 に答える 2

1

それはSOMETHINGが何であるかに依存します

UPDATE、DELETE、または SELECT の場合は、where 句で条件を指定できます。

WHERE IF( (SELECT COUNT(*) FROM TABLE WHERE COLUMN=VALUE) > 0, 1, 2) = 1

他のステートメント (INSERT、CREATE など) については、これは不可能だと思います。

于 2013-01-19T17:21:33.677 に答える
0

あなたのコメントでは、「何か」はINSERT操作だと言っています。次に、代わりに次のことができます。

INSERT INTO tableName
  (colA, colB, ...)
VALUES
  (a, b, ...) ;

使用する:

INSERT INTO tableName
  (colA, colB, ...)
SELECT
  a, b, ... 
FROM 
  dual
WHERE
  EXISTS (SELECT * FROM TABLE WHERE COLUMN=VALUE) ;
于 2013-01-19T18:22:53.323 に答える