2011-11-09 64 views
0

我正在開發一個數據庫,當另一個表更新時需要更新一個表中的一個字段。但是,正在更新的表不包含我需要的值......它僅包含一個具有該值的第三個表的ID。基本上,我正在尋找的東西做這個:在觸發器內使用連接,MySQL

CREATE TRIGGER au_TableA AFTER UPDATE TableA 
FOR EACH ROW BEGIN 
UPDATE TableB SET points=TableC.points 
WHERE TableC.cID=NEW.cID; 
END 

CID,當然,存在於兩個表A和表C。

回答

0

嘗試此查詢 -

UPDATE 
    TableB b 
    JOIN TableC с 
    ON c.cID = b.cID 
SET 
    b.points = c.points 
WHERE c.cID=NEW.cID; 
+0

感謝。我想我低估了我的問題的複雜性,並發現了另一種使用if語句和變量以及其他方法的解決方案。我想回來,讓它知道它是否有效,但我決定走另一條路。不管怎麼說,還是要謝謝你。 –