mysql中使用触发器实例
生活随笔
收集整理的這篇文章主要介紹了
mysql中使用触发器实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mysql中使用觸發器實例-函數、事件、定時器
文章目錄
- mysql中使用觸發器實例-函數、事件、定時器
- 一、需求
- 二、實操
- 1.基本操作
- 2.具體操作
- 總結
一、需求
1.定時從A放統計數據到B
2.詳情表統計數據到總表
詳情表table_xq
| ID | String |
| create_time | DateTime |
| Place | String |
統計表——table_tj
| ID | String |
| create_time | DateTime |
| Place | String |
| Person_num | String |
二、實操
1.基本操作
查詢數據
select * from table_xq where DATE_FORMAT(create_time,'%Y-%m-%d')='2022-01-20';查詢事件是否開啟(名稱固定)
SHOW VARIABLES LIKE 'event_scheduler';兩個方法開啟事件
set GLOBAL e_test=1; set GLOBAL event_scheduler=OFF;2.具體操作
創建函數:
CREATE PROCEDURE pro_test() begin DECLARE n_total int DEFAULT 0;#詳情表中的num DECLARE num_per int DEFAULT 0;#已存在的num select count(*) into n_total from table_xq where DATE_FORMAT(table_xq.create_time,'%Y-%m-%d')=CURDATE(); if(n_total>0)THEN select person_num into num_per from table_tj where DATE_FORMAT(table_xq.create_time,'%Y-%m-%d')=CURDATE(); if num_per is NULL OR num_per='' THEN update table_tj set person_num=n_total where DATE_FORMAT(table_xq.create_time,'%Y-%m-%d')=CURDATE(); ELSEIF n_total>num_per then insert into table_tj (ID,person_num,palce,create_time)values(REPLACE(UUID(),'-',''),n_total,'地點',CURDATE()); END IF; END IF; END創建定時器
使用mysql菜單-其他-事件,添加內容即可。
總結
在做該需求時由于外網找不到詳細的資源,都是一點點自己摸索出來的,分享給大家,如果內容存在出入,請指出,謝謝!
總結
以上是生活随笔為你收集整理的mysql中使用触发器实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios验证邮箱格式
- 下一篇: linux cmake编译源码,linu