我的Mysql创建过程中出错的原因是什么

时间:2017-08-03 14:12:55

标签: php mysql xampp

我无法理解Mysql中查询的问题。 我会在这里写我的查询。

CREATE PROCEDURE PR_INSERT_DATA (
                IN prCode INT,
                IN prName VARCHAR(250),
                IN prAuthor varchar(250),
                IN prCategory varchar(250),
                IN prMaterial varchar(250),
                IN prPrice varchar(7),
                IN prDescription varchar(1000),
                IN prComment varchar(500))
BEGIN
    INSERT INTO `product`(`CODE`,`NAME`,`AUTHOR`, `CATEGORY`, `MATERIAL`, `PRICE`, `DESCRIPTION`, `COMMENT`) 
    VALUES (`prCode`
            ,`prName`
            ,`prAuthor`
            ,`prCategory`
            ,`prMaterial`
            ,`prPrice`
            ,`prDescription`
            ,`prComment`)

它给了我这个错误:

  

#1064 - 您的SQL语法出错;查看与您的MariaDB服务器版本对应的手册,以获得在''附近使用的正确语法。在第19行

Here is表的结构。

1 个答案:

答案 0 :(得分:2)

您需要更改标准分隔符';'到另一个。原因是因为我们希望将存储过程作为一个整体传递给服务器,而不是让MySQL一次解释每个语句。

DELIMITER //
CREATE PROCEDURE PR_INSERT_DATA (
                IN prCode INT,
                IN prName VARCHAR(250),
                IN prAuthor varchar(250),
                IN prCategory varchar(250),
                IN prMaterial varchar(250),
                IN prPrice varchar(7),
                IN prDescription varchar(1000),
                IN prComment varchar(500))
BEGIN

    INSERT INTO `product`(`CODE`,`NAME`,`AUTHOR`, `CATEGORY`, `MATERIAL`, `PRICE`, `DESCRIPTION`, `COMMENT`) 
    VALUES (`prCode` ,`prName`,`prAuthor`,`prCategory` ,`prMaterial`,`prPrice`,`prDescription`,`prComment`);

END//