2013-10-30 56 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演示