【问题标题】:mysql trigger to update the same table from another tablemysql触发器从另一个表更新同一个表
【发布时间】:2016-09-04 21:17:30
【问题描述】:

我正在尝试设置一个触发器,该触发器将通过从另一个表中插入一些额外的数据来更新同一行。字段 receive.iccid 是空白的,我希望在每次插入时都更新它。但是这个触发器不起作用

delimiter //
CREATE TRIGGER ins_iccid 
AFTER INSERT ON receive 
FOR EACH ROW 
BEGIN
UPDATE receive SET NEW.iccid = (SELECT goip.iccid FROM goip WHERE NEW.goipname=goip.name);
END// 

delimiter ;

【问题讨论】:

  • 有没有想过如果更改goip 表中的name 会发生什么?
  • 我已经通过使用 BEFORE INSERT 语句弄清楚了

标签: mysql


【解决方案1】:

原来我需要使用“插入前”来实现我想要的目标

 CREATE TRIGGER `ins_iccid` BEFORE INSERT ON `receive`
 FOR EACH ROW 
 BEGIN
    SET NEW.iccid = (SELECT goip.iccid FROM goip WHERE NEW.goipname=goip.name);
 END

【讨论】:

    猜你喜欢
    • 2022-07-08
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2014-10-20
    • 2015-12-28
    相关资源
    最近更新 更多