2014-01-18 65 views
-1

我正努力在mysql查詢中爲IF/ELSE找到正確的語法。 我知道這可以通過定義一個函數或過程來完成,但是這會被存儲在數據庫中,我需要(至少爲了禮貌)來獲得我的數據庫管理器的授權。 爲了清楚起見,這是一樣的MS SQL與MySQL如果。 。 。 ELSE查詢語法

IF @var=value 
BEGIN 
    @do=1; 
END 
ELSE 
BEGIN 
    @do=2; 
END 
+0

http://dev.mysql.com/doc/refman/5.0/en/if.html – matcheek

+0

刪除了sql-server標籤,因爲該問題明確地涉及MySQL。 –

+0

Gordon,問題在於比較mssql和mysql中接受的內容 – Datadimension

回答

0
IF @var=value 
THEN 
    SET @do=1; 
ELSE 
    SET @do=2; 

你只是缺少SET鍵字。

+1

錯誤代碼:1064 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第1行'IF @ var = value THEN SET @ do = 1'附近使用正確的語法 – Datadimension

0

允許下面是該語法的一個很好的例子:

if _count = 0 then  
insert into A 
else 
    insert into B 

end if; 
+1

錯誤代碼:1064 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'if _count = 0'時使用正確的語法,然後 插入到A – Datadimension