1
我在mysql數據庫中有兩個表A和B.表A有brnd_id
,R_2000ml
。表B具有diff
,val
。當更新R_2000ml
時,我在寫一個觸發器來更新表B.我計算的NEW.R_2000ml
和OLD.R_2000ml
的差異,將結果存儲在diff
列,傳遞一個布爾值設爲1,表B中的val
列得到更新用於更新當前表中更新值的另一個表的MySQL觸發器
下面是一個不工作作爲我的觸發器代碼!值不表B中得到更新
DELIMITER //
DROP TRIGGER IF EXISTS `myTrigger`;
CREATE DEFINER=`root`@`localhost` TRIGGER `myTrigger`
AFTER UPDATE ON `A`
FOR EACH ROW
BEGIN
DECLARE brndid integer;
DECLARE stkdate date;
if NEW.`R_2000ml` <=> OLD.`R_2000ml`
THEN
if NEW.`R_2000ml` > OLD.`R_2000ml`
THEN
update B set diff= NEW.R_2000ml- OLD.R_2000ml,val=1;
END IF;
END IF;
END;//
DELIMITER ;
你的觸發應該更新* *所有以'B'行。 。 。你的意圖是? –
表B只包含一行,並將用於其他目的。 – WASEEM