2017-06-03 92 views
1

我想更新另一個數據庫中的另一個表,這是用於庫存數量,當數量字段得到更新時,然後更新另一個表。如何使用觸發器更新另一個數據庫中的表?

我有這樣的:

DELIMITER // 
DROP TRIGGER IF EXISTS syncFromStockSys // 

CREATE TRIGGER syncFromStockSys BEFORE UPDATE on db1.quantity 

FOR EACH ROW BEGIN 

    UPDATE TABLE db2.oc_product 
    SET `quantity` = NEW.quantity 
    WHERE SKU = SKU; //<<----------- 
END // 
DELIMITER ; 

但有一個sintax錯誤 我使用phpMyAdmin來acomplish這一點。

這是錯誤:

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 'TABLE db2.oc_product SET quantity = NEW.quantity WHERE SKU = NEW.' at line 5

+0

包括語法錯誤,你在你的問題 –

+0

收到我添加了產量 –

回答

0

不要使用PHP myadmin任何嚴肅的工作。讓自己一個適當的MySQL客戶端。至於錯誤。你不應該包含定界符//觸發塊

DELIMITER // 
DROP TRIGGER IF EXISTS syncFromStockSys // 

CREATE TRIGGER syncFromStockSys BEFORE UPDATE on db1.quantity 

FOR EACH ROW BEGIN 

    UPDATE db2.oc_product 
    SET `quantity` = NEW.quantity 
    WHERE SKU = SKU; 
END // 
DELIMITER ; 

內,你可能是指

WHERE SKU = NEW.SKU; 
+0

我嘗試過的內容在block和new.sku裏面也沒有分隔符;無論如何,仍然沒有工作,任何線索? –

+0

PPlease在堆棧溢出時不要使用'Not working'。發佈確切的錯誤和涉及的行號 – e4c5

+0

好吧,你知道爲什麼會出現這個錯誤嗎? –

相關問題