我正在尝试在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
在插入语句的值部分中,我如何从原始插入物中获取值以在此处使用?
谢谢
您可以将这些值用于new.columnname。如果列名也是userid如此,则可以使用:
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关键字可以访问受触发器影响的行中的列。OLD和NEW是MySQL对触发器的扩展;它们不区分大小写。 在INSERT触发器中,只能使用NEW.col_name
在触发器主体内,使用OLD和NEW关键字可以访问受触发器影响的行中的列。OLD和NEW是MySQL对触发器的扩展;它们不区分大小写。
在INSERT触发器中,只能使用NEW.col_name