2017-09-06 11 views
0

エラーを解決したい。 私はこの質問をexicutingしている間、私はエラーで会った。'IF EXISTS'付近のSynatxエラー

IF EXISTS (SELECT * FROM category_info WHERE category_name = 'Electronics') 
BEGIN 
select * from category_info; 
END 
ELSE 
BEGIN 
    insert into category_info(category_name) values('Electronics'); 
END 

エラー:

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 EXISTS (SELECT * FROM category_info WHERE category_name = 'Electronics') BEG' at line 1

私は事前のおかげ

+1

ここをクリックしてください:https://stackoverflow.com/questions/5528854/usage-of-mysqls-if-exists –

+1

[MySQLには存在しない場合は挿入する方法]の可能な複製(https:///stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysql) – GolezTrol

+1

[MySQLの「IF EXISTS」の使用法](https://stackoverflow.com/questions/5528854)の可能な複製/ usage-of-mysqls-if-exists) –

答えて

0

にそれは手順を使用することにより解決することができ、助けを必要としています。

delimiter $$ 
CREATE PROCEDURE Check_exists(IN categoryName varchar(20)) 
BEGIN 
IF EXISTS(SELECT * FROM category_info WHERE category_name = categoryName) 
THEN 
    SELECT 'Already Exists' as status; 
ELSE 
    INSERT INTO category_info(category_name) VALUES(categoryName); 
END IF; 
END $$ 

と、この手順では、それが存在するか、そうでなければ、行を挿入しますが「既に存在する」これは、メッセージが表示されます

call Check_Exists('Electronics'); 

によって呼び出すことができます。

関連する問題