我正在尝试在mysql中创建一个触发器,当桌面上的插入发生时,它将插入到另一个表中。
CREATE TRIGGER addCardForNewUser AFTER INSERT ON swiped.Users
FOR EACH ROW
BEGIN
INSERT INTO swiped.Card (userid) VALUES (get value from original insert here);
END
在insert语句的values部分中,如何从原始插入中获取值以在此处使用?
由于
答案 0 :(得分:8)
您可以将这些值与new.columnname
一起使用。如果列的名称也是userid
,那么您可以使用:
CREATE TRIGGER addCardForNewUser AFTER INSERT ON swiped.Users
FOR EACH ROW
BEGIN
INSERT INTO swiped.Card (userid) VALUES (new.userid);
END
在触发器主体中,OLD和NEW关键字使您可以访问 受触发器影响的行中的列。旧的和新的是MySQL 触发器的扩展;它们不区分大小写。
在INSERT触发器中,只能使用NEW.col_name