Bis*_*128 1 mysql sql triggers
我试图在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
Run Code Online (Sandbox Code Playgroud)
在insert语句的值部分中,如何从原始插入中获取值以在此处使用?
谢谢
您可以使用这些值new.columnname.如果列的名称也是userid如此,那么您可以使用:
CREATE TRIGGER addCardForNewUser AFTER INSERT ON swiped.Users
FOR EACH ROW
BEGIN
INSERT INTO swiped.Card (userid) VALUES (new.userid);
END
Run Code Online (Sandbox Code Playgroud)
从官方文档:
在触发器主体中,OLD和NEW关键字使您可以访问受触发器影响的行中的列.OLD和NEW是触发器的MySQL扩展; 它们不区分大小写.
在INSERT触发器中,只能使用NEW.col_name