java - mysql如何让A表的字段跟B表同步?(就是修改A表,B表也同步改变)
迷茫
迷茫 2017-04-17 16:20:00
[Java讨论组]

如何让红圈字段同步呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(5)
ringa_lee

可以通过 FOREIGN KEY 约束 + 存储过程 实现这个需求
但非必要情况不建议冗余两份数据,既增加浪费存储空间,同时增加数据维护成本。

PHPz

两种办法:

  1. 同时修改两个表

  2. 将这两个字段单独拎出来放到一个表里,查询的时候join这个表,这样只需要改一次

高洛峰

通过触发器(trigger)实现即可,比如users表和orders表,其中users表结构为user_id,user_name,而orders表结构为order_id,user_id,如果希望修改users的user_id同时orders的user_id一起更新,只需要在users表上设置一个触发器,该触发器设置方式如下:
mysql> delimiter //
mysql> create trigger upd_id after update on users
for each row
begin
if old.user_id <> new.user_id then

update orders set user_id=new.user_id;

end if;
end; //
mysql> delimter ;

PHPz

触发器就行了。。。用存储过程什么的性能还低

ringa_lee

我也觉得触发器比存储过程好点。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号