创建一个触发事件SQL codetableA:aid name1tom2nodetableB:bid weight aid date11.51当对tableA中的aid进
创建一个触发事件
SQL code
tableA:aid name1 tom2 nodetableB:bid weight aid date1 1.5 1当对tableA中的aid进行增、删、改时,tableB中的aid对应的进行增、删、改。自己写了个,但是错的:CREATE TRIGGER testref AFTER INSERT ON tableA FOR EACH ROW BEGIN INSERT INTO tableB AS w SET w.nid = NEW.nid, w.`date`= NOW(); END|AFTER UPDATE ON tableAFOR EACH ROWBEGIN UPDATE tableB SET w.nid = NEW.nid WHERE w.nid = OLD.nid;END|AFTER DELETE ON ncnodeFOR EACH ROW BEGIN DELETE FROM ncweight WHERE w.nid=NEW.nid;END;
[解决办法] 写3个TRIGGER [解决办法] 分别写三个,一个一个写,三个 create trigger 不要混在一起。 [解决办法] CREATE TRIGGER testref1 AFTER INSERT ON tableA FOR EACH ROW BEGIN INSERT INTO tableB AS w SET w.nid = NEW.nid, w.`date`= NOW(); END CREATE TRIGGER testref2 AFTER UPDATE ON tableA FOR EACH ROW BEGIN UPDATE tableB SET w.nid = NEW.nid WHERE w.nid = OLD.nid; END CREATE TRIGGER testref3 AFTER DELETE ON ncnode FOR EACH ROW BEGIN DELETE FROM ncweight WHERE w.nid=NEW.nid; END; [解决办法]
[解决办法] NEW->OLD [解决办法] delimiter $$ CREATE TRIGGER testref1 AFTER INSERT ON ncnode FOR EACH ROW BEGIN INSERT INTO ncweight SET ncweight.nid = NEW.nid, ncweight.`date`= NOW(); END$$ delimiter ;