2011-04-21 38 views
0

我的存儲過程中有錯誤。我使用MySQL數據庫我的存儲過程中的錯誤

SET @counter = 1; 
SET @last = 0; 
UPDATE Customer SET ordre = (IF(@last = customer_id,@counter + 1,@counter = 1)), 
       @last = customer_id 

我的錯誤

腳本行:3你有 您的SQL語法錯誤;檢查手冊中 相當於你的MySQL服務器 版本正確的語法使用 附近「@Last = CUSTOMER_ID ORDER BY CUSTOMER_ID」第2行

+0

是'table'表名? – Nanne 2011-04-21 13:34:09

+0

是的,對不起,我編輯我的文章;) – Mercer 2011-04-21 13:35:46

+0

你使用的是什麼版本的mysql? – Gowri 2011-04-21 13:37:35

回答

0

您不能設置在UPDATE語句的SET子句中的變量。 '@last = customer_id'會導致錯誤。

從參考 -

UPDATE語法 - '...設置col_name1 =表達式1 [,col_name2 =表達式2 ...]'

SET子句指示要修改的列和值他們應該被給予。

+0

所以是不可能的爲什麼我想要。? – Mercer 2011-04-21 14:43:10

+0

以這種方式 - 沒有。你究竟打算做什麼? – Devart 2011-04-21 14:52:32