这里要用到3个触发器,一个更新,一个删除,一个修改的,给你个参考吧
专注于为中小企业提供成都网站制作、成都做网站、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业相城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
CREATE TRIGGER `trig_a` AFTER INSERT ON `a` FOR EACH ROW
BEGIN
SELECT ID INTO @c from b where ID=NEW.ID;
if @c is not null then
insert into b(ID) VALUES(NEW.ID);
END
数据量多大啊?一般几千万条数据如果创建好合理的索引然后优化语句基本几秒都可以搞定。
你说的中间表是不是临时表
例:如何实现随机更新表里的几条数据。
思路1:先随机查询几条记录
思路2:更新这几条记录。
但是你如果直接写 Update table1 SET ....... where ID in (select ID from table1 ORDER BY RAND() limit 1)
这种情况就会报错。不能再查询时同时对该表进行修改。这个时候就需要将查询语句查出来的表放到临时表。
update table1 Set ...... where ID in(SELECT F.ID FROM (SELECT * FROM table1 ORDER BY RAND() LIMIT 2) F)