2013-12-16 57 views
0

我無法理解爲什麼下面的SQL過程不會存儲在我的數據庫中,並且報告了一個錯誤,我已經對它進行了很長時間,並且完全感到困惑。SQL如果在存儲過程中輸入/輸入

DELIMITER $$ 
CREATE PROCEDURE add_brand(IN inBrandName TEXT) 
BEGIN 

DECLARE brandexists INT DEFAULT 0; 

SELECT count(*) WHERE BrandName = inBrandName INTO brandexists; 

IF brandexists = 1 THEN 
select "exists"; 
ELSE 
INSERT INTO tblBrand (BrandName) VALUES (inBrandName); 
SELECT LAST_INSERT_ID(); 
END IF; 

END 

我得到的錯誤是這樣的:

#1064 - 你在你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'WHERE BrandName = inBrandName INTO brandexists; IF brandexists = 1 THEN sele'at line 6

有什麼想法?

+2

你缺少你來自哪裏,選擇一個表。 –

回答

2

你缺少,你從表中選擇:

SELECT count(*) WHERE BrandName = inBrandName INTO brandexists; 
       ^---here (from some_table) 
+1

我的天啊。有時候最簡單的東西真的會把你擊倒,不是嗎?我現在被禁錮了。對不起,浪費你的時間 – useyourillusiontoo

+0

我做得更糟了。 –