Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两个相同的mysql表之间查找更改_Mysql_Join_Compare - Fatal编程技术网

在两个相同的mysql表之间查找更改

在两个相同的mysql表之间查找更改,mysql,join,compare,Mysql,Join,Compare,我正在努力使我的计划生效。我正在从会员管理系统获取csv导出。计划将此列表更新为wordpress数据库。为了完成这项工作,我做了两张桌子。 当前_成员和新_成员 首先,我将csv导入到新的_成员,检查与当前_成员相比是否有新成员,以及是否有需要删除的成员,如果有,该成员将获得一个新的或删除标志,current_members.deleted=true&new_members.new=true。到目前为止,一切顺利。我只是用这个简单的问题: UPDATE `new_memberSync` SET

我正在努力使我的计划生效。我正在从会员管理系统获取csv导出。计划将此列表更新为wordpress数据库。为了完成这项工作,我做了两张桌子。 当前_成员和新_成员

首先,我将csv导入到新的_成员,检查与当前_成员相比是否有新成员,以及是否有需要删除的成员,如果有,该成员将获得一个新的或删除标志,current_members.deleted=true&new_members.new=true。到目前为止,一切顺利。我只是用这个简单的问题:

UPDATE `new_memberSync` SET `new_memberSync`.`new` = '1' where `new_memberSync`.`regnr` NOT IN (select `regnr` from `current_memberSync`)
要标记为已删除的第二个查询:

UPDATE `current_memberSync` SET `current_memberSync`.`deleted` = '1' where `current_memberSync`.`regnr` NOT IN (SELECT `regnr` FROM `new_memberSync`)
接下来,我想对所有成员字段的内容进行检查。如果成员已更新,我希望设置更新标志。我做了一个新的查询,它还没有完成,但我看到了一个更改成员的列表。对于使用此查询找到的所有实例,问题“如何将设置更改为1”:

SELECT `new_memberSync`.`pe_code`,`new_memberSync`.`regnr`,`new_memberSync`.`voorletters`,`new_memberSync`.`roepnaam`,`new_memberSync`.`new`
FROM `new_memberSync`
JOIN `current_memberSync` ON `new_memberSync`.`regnr` = `current_memberSync`.`regnr`
WHERE `new_memberSync`.`roepnaam` <> `current_memberSync`.`roepnaam`
OR `new_memberSync`.`straatnaam` <> `current_memberSync`.`straatnaam`
OR .. 
OR .. ETC.

我试着使用类似于:updatenew\u membersSync SET changed=1的东西在这里查询

你能用php函数来解决这个问题吗?绝对,但我喜欢使用mysql,我很肯定它可以这样做,只需要一个查询。