我有两张table:
表:(每个代码都是唯一的,只出现一次)
id | code | datetime |
1 | 2574857458745 | 2017-05-20 20:15:30 | - update this code datetime
2 | 6554995949445 | 2017-07-13 11:17:40 |
3 | 8214687655556 | 2017-04-27 21:26:55 |
4 | 3354551848451 | 0000-00-00 00:00:00 |
b表:(代码多次出现的地方)
id | code | datetime |
26 | 2574857458745 | 2018-07-14 16:24:20 | - occurs here 2 times
47 | 6554995949445 | 2018-09-06 17:35:44 |
64 | 8214687655556 | 2018-03-09 22:06:12 |
57 | 2574857458745 | 2018-11-12 23:57:35 | - update only with the latest datetime
因此表的第一行是:
id | code | datetime |
1 | 2574857458745 | 2018-11-12 23:57:35 |
以此类推,搜索每个代码,如果存在于b表中,则用最新的datetime更新
有没有可能通过mysql更新join来实现这一点?如果是,那么如何?或者其他想法?
2条答案
按热度按时间kdfy810k1#
使用子查询和联接:
w1jd8yoj2#
你可以用
update
与join
:注意:如果tablea的datetime高于tableb的latest datetime,则仍将更新