0

MySQL のドキュメントによると、これは mysql.version > 5 で実行されます。しかし、次のようになります。

#1064 - SQL 構文にエラーがあります。near 'IF を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

コード:

IF SELECT MAX(`amount`) FROM transactions < 500 
THEN 
   INSERT INTO transactions (amount) VALUES (500)
END IF

また

IF( (SELECT MAX(`amount`) FROM transactions < 500)
     ,INSERT INTO transactions (amount) VALUES (500)
     , null
  );

トランザクション テーブル:

id amount
1  100
2  150
3  400

どちらも機能しません。

4

3 に答える 3

0

それは次のようになります。

IF SELECT MAX(`amount`) FROM transactions WHERE amount < 500 
THEN 
   INSERT INTO transactions (amount) VALUES (500)
END IF
于 2013-10-03T02:06:44.877 に答える
-1

どうですか:

SELECT MAX(`amount`) INTO m FROM transactions
IF m < 500
THEN 
   INSERT INTO transactions (amount) VALUES (500)
END IF

確認して教えてください。

于 2013-10-03T02:17:42.300 に答える