2013-03-18 2 views
0

"주문"테이블에서 "이름"행 update 행을 트리거 할 때 새 값이 테이블 트리거 .FirstName에 저장되므로 트리거를 만들려고합니다.MySQL 트리거 이전 및 새 쿼리

나는이 방법으로 MySQL 쿼리를 만들었지 만 "SQL 구문에 오류가 있습니다." 당신이 INSERT 문을 종료하지 않은

DELIMITER $$ 
CREATE TRIGGER when_updated 
BEFORE UPDATE 
ON order 
FOR EACH ROW 
BEGIN 
INSERT INTO triggers (timestamp, FirstName) VALUES (now(), NEW.FirstName) 
END$$ 
DELIMITER; 

답변

2

, 또한, ORDER이 예약 된 키워드입니다

DELIMITER $$ 
CREATE TRIGGER when_updated 
BEFORE UPDATE ON `order` FOR EACH ROW 
BEGIN 
    INSERT INTO triggers (timestamp, FirstName) 
    VALUES (now(), NEW.FirstName); 
           --^HERE 
END$$ 
DELIMITER; 

: 내가 뭔가 잘못하고있는 것 같아. 역 따옴표로 구분하여 테이블 이름으로 사용할 수 있습니다.

+0

INSERT INTO 트리거 (타임 스탬프, 이름) VALUES (now(), NEW.FirstName); 내가 종료해야하는 기타 항목을 알려주십시오. – kajab

+0

덕분에 꿈처럼 일했습니다! – kajab