读书人

创建一个触发事件,该如何处理

发布时间: 2012-04-27 11:57:44 作者: rapoo

创建一个触发事件

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;
[解决办法]
探讨

写3个TRIGGER

[解决办法]
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 ;

其它的自己修改

读书人网 >Mysql

热点推荐