2011-06-18 91 views
-1

我不斷收到ERROR 1064與下面的觸發語句「..第五行使用正確的語法附近」 我已經掙扎了幾個小時,但不能弄清楚什麼是錯的!MYSQL觸發器定義--1064錯誤

DELIMITER $$ 
CREATE TRIGGER status_upd AFTER UPDATE ON order_products 
FOR EACH ROW 
BEGIN 
    IF OLD.status_id != NEW.status_id THEN INSERT INTO op_status values(op_id,  NEW.status_id, curdate()); 
END$$ 
DELIMITER ;          

任何建議,我可能做錯了什麼。 謝謝

回答

1

我想應該是這樣的:

DELIMITER $$ 
CREATE TRIGGER status_upd AFTER UPDATE ON order_products 
FOR EACH ROW 
BEGIN 
IF (OLD.status_id != NEW.status_id) THEN 
INSERT INTO op_status values(op_id,NEW.status_id, curdate()); 
END IF; 
END$$ 
DELIMITER; 

你失蹤的END IF;

+0

謝謝你拉胡爾,那工作很好!我的錯。 – sunil

+0

歡迎並嘗試將其標記爲答案:) – Rahul

+0

我在最後添加了對您的小解釋。還有一個用於發現缺失位的+1。 –