2017-08-03 57 views
1

我不明白我的查詢在Mysql中有什麼問題。 我會在這裏寫我的查詢。在我的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`) 

這gaves我這個錯誤:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 19

Here is表的結構。

+0

錯誤的原因就在那裏; **「您的SQL語法錯誤;請查看與您的MariaDB服務器版本相對應的手冊,以獲取在第19行」**「附近使用的正確語法。 – Brxxn

+0

好的,但我不明白問題在哪裏。我想我正在使用好的查詢。 –

+0

這是你的整個過程嗎?它突然結束。 – aynber

回答

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// 
+0

非常感謝。它的工作,但我不知道爲什麼:D –

+0

更新了原因。 –

相關問題