创建一个触发事件
- 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 ;
其它的自己修改