2017-02-14 4 views
-1

私はこのコードを使用しますが、構文エラーがあります。MySQL + PHP MySQLのIF文が間違っていますか?単純なIf文MySQL 5.50を作成するには?

MYSQL 5.5.50.0

IF 2>1 THEN 

SELECT "HELLO WORLD!" 

END IF; 

EDIT:このコードは動作しません。 IF文はFUNCTIONとプロシージャを使用するためです。

エラーは次のとおりです。

SQL-ERROR: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF 2>1 THEN 

私のreadSQL($ SQL)関数は、ほとんどのケースに取り組んでいます。私のMySQLコードは間違っていると思います。

どうしたのですか? ありがとうございます。

EDIT:

IFステートメントは、FUNCTIONとプロシージャを使用してください。

+3

[ 'IF'でそのフォーム](https://dev.mysql.com/doc/refman/5.7/en/if.html)は、ストアドプロシージャ内でのみ動作し、任意のステートメントとしては機能しません。 – tadman

答えて

2

MySQL IF()は3つの式をとり、最初の式がゼロでなくNULLでない真である場合、2番目の式を返します。それ以外の場合は、3番目の式を返します。

使用されるコンテキストによっては、数値または文字列値が返されます。例えば

IF(expression ,expr_true, expr_false); 

、クエリを持つことができます:

SELECT IF(1>3,'true','false'); 
#return false 

あなたは単に 'Hello World' 文字列を返したい場合は、使用できます。

SELECT CASE WHEN 2 > 1 THEN 'HELLO WORLD' END