我有2个表<head>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
</head>
和users
。表cached_users
已更新,这是我的活动表。 users
是我的第二张表,我每隔15-20分钟更新一次该表。
表用户
cached_users
表CACHED_USERS
+---------------+---------------+---------------+------------------+
| id | name | username | email |
+---------------+---------------+---------------+------------------+
| 1 | Johne Doe | john.doe | johndoe@mail.com |
+---------------+---------------+---------------+------------------+
我的质询是:
如何检查两个表之间的差异并更新是否有更改?所以我有多行并循环遍历所有+---------------+---------------+---------------+------------------+
| user_id | name | username | email |
+---------------+---------------+---------------+------------------+
| 1 | Johne Doe | john.doe | johndoe@mail.com |
+---------------+---------------+---------------+------------------+
行并找到匹配的users
行并根据需要进行更新。我在cached_users
表中有更多列,所以我不能做“DELETE / INSERT”方法。我需要一个SQL语句来执行此操作。如果您需要更多信息,请随时提出。
答案 0 :(得分:0)
select * from users union select * from CACHED_USERS
如果计数与用户相同,那么如果不同则意味着没有更新
选择p.id从(选择*来自用户联合选择*来自CACHED_USERS)p group by p.id have count(*)&gt; 1
id不止一个意味着需要更新这些记录。