【问题标题】:How to get inserted value for trigger如何获取触发器的插入值
【发布时间】:2014-08-22 18:36:20
【问题描述】:

我正在尝试在 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

在插入语句的值部分中,我如何从原始插入中获取值以在此处使用?

谢谢

【问题讨论】:

    标签: mysql sql triggers


    【解决方案1】:

    您可以将这些值与new.columnname 一起使用。如果列的名称也是userid,那么您可以使用:

    CREATE TRIGGER addCardForNewUser AFTER INSERT ON swiped.Users
    FOR EACH ROW
      BEGIN
          INSERT INTO swiped.Card (userid) VALUES (new.userid);
      END
    

    来自official documentation

    在触发器正文中,OLD 和 NEW 关键字使您可以访问 受触发器影响的行中的列。 OLD 和 NEW 是 MySQL 触发器的扩展;它们不区分大小写。

    在 INSERT 触发器中,只能使用 NEW.col_name

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 2013-04-24
      • 2019-01-22
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      相关资源
      最近更新 更多