【问题标题】:MySQL trigger matching a field across tablesMySQL触发器跨表匹配字段
【发布时间】:2020-01-19 06:41:29
【问题描述】:

我需要创建一个插入后触发器,该触发器递增不同表中的字段,其中 id = 带有触发器的表中的 user_id 字段。我试过了:

CREATE TRIGGER `update-notify`
AFTER INSERT
ON `notifications`
FOR EACH ROW UPDATE users
SET notify = notify + 1
WHERE id = notifications.user_id

但是得到了Unknown column 'notifications.user_id' in 'where clause'

如何在此触发器中匹配跨表的字段?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    对触发触发器的表记录使用NEW

    CREATE TRIGGER `update-notify` AFTER INSERT ON `notifications`
    FOR EACH ROW 
      UPDATE users
      SET notify = notify + 1
      WHERE id = NEW.user_id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 2015-03-30
      • 2019-02-04
      • 2023-03-19
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      相关资源
      最近更新 更多