2012-01-04 8 views
1

グッドモーニング、MySQLが作成手順利回りエラー1064

私は、次の手順を作成しています:

CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_inventory_audit`(
IN `pitem_id`  int, 
IN `puser_id`  int, 
IN `pfield_name` varchar(265), 
IN `pold_value` mediumtext, 
IN `pnew_value` mediumtext 
) 
BEGIN 

INSERT INTO inventory_audit (item_id, user_id, field_name, old_value, new_value) 
VALUES (pitem_id, puser_id, pfield_name, pold_value, pnew_value); 
END$$ 
それはMySQLを実行している私たちの古いサーバからのMySQL 5.5.19を実行している私たちの新しいサーバーにコピーされている

5.0.45。

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

が、これはVALUESの括弧内の各エントリは、例えば「」で囲まれなければならないことを意味しています:

私は新しいサーバー上で上記のコードをexcecute

は、私は次のエラーを受け取ります。 'pitem_id'?

答えて

4

createステートメントの前にDELIMITER $$が必要です。

4

デフォルトの;から区切り文字を変更していないので、使用している;は実際にはクエリではなくプロシージャを終了しています。

DELIMITER $$ <--- add this line 
CREATE .... 
... 
END$$ 
+0

Thnxこれは私のために働く – Armaan