mysql如何跨库查询批量更新

mysql如何跨库查询批量更新,第1张

如果A、B库在同一个mysql实例下(同一执行程序下)可以用A.search,B.room去访问:

update A.search s join B.room r on s.room_id=r.room_id

set s.is_online=r.is_online

不过你这room如果只有几条,直接把is_online对应room_id的值写在sql里去更新A.search表不就好了

update A.search set is_online=(case when room_id=x1 then y1 when room_id=x2

then y2 when room_id=x3 then y3 ...... else yn end)

1、需要当前用户对两个库具备相应的访问和 *** 作权限

2、通过数据库名.表名的方式进行join

SELECT

*

FROM

db1.t1 a

INNER JOIN db2.t2 b ON a.id = b.id

WHERE

a.Id = 1

3、建议改为es方式进行数据处理,想学java欢迎关注。

傻孩子, 你不能直接dbname.tablename 这样写, 你得先把他们concat起来, 因为他们是变量呀

set @s=concat('alter table ',concat(dbname, '.', dablename),' rename to ',concat(dbname, '.', tabletime

))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8548231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存