2011-01-19 156 views
1

我有一個很長的例程用來前面的服務器上運行。 我將它遷移到新的服務器,並開始出現sql語法錯誤。declare myvar int(11);在MySQL例程返回語法錯誤

所以我做了一個試驗:

create procedure test() 
begin 

declare myvar int(11); 

select myvar; 

end 

通過之前的在MySQL或MySQL工作臺,你應該有11語法錯誤運行此);

這是怎麼回事!

我看了關於這一主題的mysql引用他們說declare [variablename] [datatype]

我已經與其他數據類型嘗試只是爲了確保我仍然得到了同樣的問題。

在此先感謝您的幫助。

回答

2

當你聲明變量時,你不給它們顯示長度。這些數字僅適用於表格列定義。

只是做

DECLARE myvar INT; 
+0

感謝您的快速回答:) 雖然這不會工作。我已經試過了。 隨着INT只有語法錯誤轉移到INT代替)(括號) – 2011-01-19 14:28:25

1

另外聲明將是第一條語句開始後。否則這將始終給錯誤。