2013-10-30 87 views
0

我想在mysql phpmyadmin中編寫一個程序。 程序是象下面這樣:存儲過程phpmyadmin

create procedure insert_villa (IN $mtid int,IN $ctid 
int,IN $pro varchar(100),IN $city 
    varchar(100)) 
    begin 

    //variable declare here 
    declare $mtid int; 
    declare $ctid int; 
    declare $pro varchar(100); 
    declare $city varchar(100); 

    //setting variables 
    set @mtid = ($mtid); 
    set @ctid = ($ctid); 
    set @pro  = ($pro) ; 
    set @city = ($city); 

// insert statement 
"INSERT INTO `melk`(`melktypeid`, `contracttypeid`,`province`,`city`) 
VALUES (mtid,ctid,pro,city)"; 
END// 

它顯示的錯誤象下面這樣: SQL查詢:

CREATE PROCEDURE insert_villa(IN $mtid int, IN $ctidint, IN $pro varchar(100) , IN $cityvarchar(100)) BEGIN // 

MySQL表示:文件

#1064 - 你有一個錯誤你的SQL語法;檢查 對應於你的MySQL服務器版本正確的語法在第4行

它是使用procedure.I不知道很多關於我第一次使用 「」附近的手冊。請幫幫我。

+0

就像你正在試圖調試任何其他代碼,第一步可能應該是簡化查詢和刪除變量,直到你把它放到最簡單的代碼中你錯了。這樣可以更容易地找到問題,並且更容易讓其他人閱讀您的代碼並提供建議。 – octern

+0

@ //'不是MySQL中的評論風格 –

+0

@Gerald Schneider,我刪除了那些行,但仍然顯示錯誤,從我聲明我的變量的行。 –

回答

0

你的程序,可以歸結爲眼前這個

CREATE PROCEDURE insert_villa (IN _mtid INT, IN _ctid INT, IN _pro VARCHAR(100), IN _city VARCHAR(100)) 
    INSERT INTO melk (melktypeid, contracttypeid, province, city) 
    VALUES (_mtid, _ctid, _pro, _city); 

使用範例:

CALL insert_villa(1, 1, 'Province1', 'City2'); 

這裏是SQLFiddle演示