2012-01-04 3 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 

이이 값의 괄호 안의 각 항목은 예를 들어 ''에 둘러싸여해야한다는 뜻 :

나는 새 서버에 위의 코드를 excecute

, 나는 다음과 같은 오류를받을. 'pitem_id'?

답변

4

create 문 앞에 DELIMITER $$이 있어야합니다.

4

구분 기호를 기본값 ;에서 변경하지 않았으므로 ;은 실제로 쿼리가 아닌 프로 시저를 종료합니다.

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

Thnx이 작품은 나를 위해 – Armaan