mysql - 在mysql触发器中找到新记录时无法更新触发表中的记录
问题描述
如果在触发表中找不到imei,则无法编写触发器以插入行,如果找到,则应更新记录。
查询错误 - 失去与我的 sql 服务器的连接。
DELIMITER $$
create TRIGGER update_livedata4
AFTER INSERT ON `Rawdata`
FOR EACH ROW
begin
IF Livedata.IMEI <> Rawdata.IMEI THEN
INSERT INTO Livedata(IMEI,updatedTime,latitude,longitude,speed,ignition,fuel,altitude,battery,runHrs,alert,distance) VALUES (NEW.IMEI,NEW.updatedTime, NEW.latitude,NEW. longitude,NEW.speed,NEW.ignition,NEW.fuel,NEW.altitude,NEW.battery,NEW.runHrs,NEW.alert,NEW.distance);
END IF;
UPDATE Livedata SET IMEI = new.IMEI,updatedTime=new.updatedTime,latitude= NEW.latitude,longitude=NEW. longitude,speed=NEW.speed,ignition=NEW.ignition,fuel=NEW.fuel,altitude=NEW.altitude,battery=NEW.battery,runHrs=NEW.runHrs,alert=NEW.alert,distance=NEW.distance;
END$$
DELIMITER ;
解决方案
似乎您在已编写的更新中缺少 where 子句,而该子句又比您的净读取超时时间要长....!
您愿意更新所有记录吗?
如果是这种情况,那么增加超时会有所帮助......
推荐阅读
- java - 当使通知不可关闭时,使用这些解决方案有什么区别?
- c++ - 将 const* 存储在 const 向量中
- mongodb - mongodb ops manager 头部数据库
- microsoft-graph-api - 有没有办法轮询团队卡中的点击按钮?
- excel - 下拉姓名列表,选择姓名,将人员的信息行从一张表复制并粘贴到另一张表
- node.js - Actions On Google 的帐户关联响应在印地语中不正确
- flutter - 在颤振中,如何让有状态的小部件/状态知道新数据可用并且需要重建?
- angular - 带 Angular 的 Ionic 4:有可用的升级指南吗?
- excel - Excel:如果匹配两个表格的单元格,写是
- python - 如何使用 Pandas 在此 Dataframe 中创建列?