• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql触发器的插入操作,怎么进行判断

mysql 搞代码 7年前 (2018-06-02) 127次浏览 已收录 0个评论

mysql触发器的插入操作,如何进行判断
例如,创建触发器:
DELIMITER $$

CREATE
  /*[DEFINER = { user | CURRENT_USER }]*/
  TRIGGER test.t_afterinsert_on_test AFTER INSERT
  ON test.t_user
  FOR EACH ROW BEGIN
INSERT INTO test2.t_user VALUES(new.id, new.name, new.password);
  END $$
   
DELIMITER ;

在执行INSERT INTO test2.t_user VALUES(new.id, new.name, new.password);之前需要进行判断id是否存在(类似于:if(select * from t_user where id = new.id) == 0,之类的判断),不存在,则执行,因为是两个表。

如何实现?求解,谢谢

——解决方案——————–
FOR EACH ROW BEGIN
if not exists (select * from t_user where id = new.id) then
INSERT INTO test2.t_user VALUES(new.id, new.name, new.password);
end if;
END $$
 
——解决方案——————–

探讨

FOR EACH ROW BEGIN
if not exists (select * from t_user where id = new.id) then
INSERT INTO test2.t_user VALUES(new.id, new.name, new.password);
end if;
END $$

——解决方案——————–
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER test.t_afterinsert_on_test AFTER INSERT
ON test.t_user
INSERT INTO test2.t_user VALUES(new.id, new.name, new.password) on duplicate update name=new.name;


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql触发器的插入操作,怎么进行判断
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址