我收到試圖在MySQL 5.1中創建一個功能時,出現以下錯誤:mySQL用戶定義函數中set命令的正確語法是什麼?
Error Code : 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 '' at line 25 (0 ms taken)
這裏是我的代碼:
DELIMITER $$
CREATE
FUNCTION removeMethodAndBackslash(input VARCHAR(40))
RETURNS VARCHAR(20)
BEGIN
DECLARE loginName VARCHAR(40);
SET loginName = input;
IF SUBSTRING(loginName,7) LIKE '\b%' THEN
SET loginName = 'b' + SUBSTRING(input,8);
ELSE IF SUBSTRING(loginName,7) LIKE '\n%' THEN
SET loginName = 'n' + SUBSTRING(input,8);
ELSE IF SUBSTRING(loginName,7) LIKE '\t%' THEN
SET loginName = 't' + SUBSTRING(input,8);
ELSE IF SUBSTRING(loginName,7) LIKE '\r%' THEN
SET loginName = 'r' + SUBSTRING(input,8);
ELSE
SET loginName = SUBSTRING(input,7);
RETURN loginName;
END $$
DELIMITER ;
我一直在玩的語法爲而我確信它是我忽略的一個非常小的細節。任何幫助將不勝感激。
由於滿級...我是新來的堆棧溢出,我無法弄清楚如何阻止整個碼。 – 2011-04-05 13:40:49
爲了澄清,我相信這個錯誤與set語句有關。但不知道。 – 2011-04-05 13:42:49
別擔心。你可以看看這裏:http://stackoverflow.com/editing-help進行降價編輯。 – manji 2011-04-05 13:42:51