mysql 触发器实现需求
来源:互联网 发布:程序员的思维方式 编辑:程序博客网 时间:2024/05/17 08:28
drop trigger if exists tg_bb_insert; delimiter $$ create trigger tg_bb_insert before insert on ceshi FOR EACH ROW BEGIN declare ishave int; select 1 into ishave from ceshiyong where id = New.id AND backupTs > CURDATE() AND backupTs < DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND hour(now()) - hour(backupTs) < 2 order by backupTs desc limit 1; if ishave is null then insert into ceshiyong(id, count) values(NEW.id, New.count); elseif ishave = 1 then update ceshiyong set ceshiyong.count=New.count where id = New.id AND backupTs > CURDATE() AND backupTs < DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND hour(now()) - hour(backupTs) < 2 order by backupTs desc limit 1; else -- 理论上不会调到 -- insert into ceshiyong(id, count) values(NEW.id, New.count); end if; END$$ delimiter ;
折腾一个需求:表1在做replace数据的时候,相同ID的数据,这次replace距离上次超过2小时就执行一下备份,懒的不愿写代码的关系,用触发器实现,这尼玛也是一个悲催的过程,这条语句折腾了我4个多小时。。纪念
mysql> desc ceshi;+-------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+---------+------+-----+---------+-------+| id | int(11) | YES | | NULL | || count | int(11) | YES | | NULL | |+-------+---------+------+-----+---------+-------+2 rows in set (0.01 sec)mysql> desc ceshiyong;+----------+-----------+------+-----+-------------------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-----------+------+-----+-------------------+-------+| id | int(11) | YES | | NULL | || count | int(11) | YES | | NULL | || backupTs | timestamp | NO | | CURRENT_TIMESTAMP | |+----------+-----------+------+-----+-------------------+-------+3 rows in set (0.01 sec)
0 0
- mysql 触发器实现需求
- MySQL 触发器实现表同步
- MySQL用触发器实现日志记录
- mysql触发器实现oracle物化视图
- mysql使用触发器实现check约束功能
- 利用MySQL触发器实现check和assertion
- MySQL触发器实现表数据同步
- MySQL特殊需求总结及其实现方法
- 【mysql 触发器】触发器使用
- MySQL通过触发器解决数据库中表的行数限制的需求
- MYSQL 触发器
- mysql 触发器
- Mysql 触发器
- mysql 触发器
- mysql触发器
- MYSQL 触发器
- MySQL触发器
- mysql 触发器
- poj 2154 Color(欧拉函数,快速幂,波利亚计数)
- 九度题目1009:二叉搜索树
- 数据架构及storm机制小结
- java读取Properties文件六种方法
- 如果常流泪,就不能看见星光
- mysql 触发器实现需求
- 为注解增加属性 和 高级属性
- x=x&(x-1)
- 《越南外资企业挂国旗自保 当地暴民烧错新加坡旗》
- 静态链接库lib和动态链接库dll区别
- 学习:padarray
- linux常用命令大全
- Renderers used to display raster data
- 了解下JavaScript中的prototype