> 数据库 > MySQL >

mysql-两表级联同步更新两个表中的一列数据

项目说明:
近期我们所做的一个项目有以下的需求:表1:search_tutor  表2:pro_money_info
已知:search_tutor 其中一个字段的有一个导师的项目卡的余额:xmye
          pro_money_info  其中也有一个字段:xmye
但是只有search_tutor里面的数据是从权威的地方拉过来的(财务处),所以项目xmye,在search_tutor进行更新时,那么pro_money_info 也要进行相应的更新,这就需要两个表的级联操作,同时更新这个字段的数据。
我们的两个表都是这个数据库里面的表:yjs_zyjt(数据库名)
业务实现:

 delimiter //
create procedure test()
    begin
        update yjs_zyjt.pro_money_info p,yjs_zyjt.search_tutor_project s set p.XMYE = s.XMYE where s.GH = p.XMFZRGH and s.XMKH = p.XMKH;
    end//
delimiter ;
# 设置定时器
drop event if exists test_event;
create event test_event
on schedule every 1 minute
STARTS now()
do call test();
# 打开定时器
show variables like 'event_scheduler';
set global event_scheduler='on';

每一分钟执行一次,级联更新的操作。



如果想要关闭定时器:
# 清除定时器数据
drop event if exists truncate_event;
create event truncate_event
on schedule every 1 week
do truncate a;
# 关闭数据库的无主键无法更新模式
SET SQL_SAFE_UPDATES = 0;


(责任编辑:IT)