如何在MySql表中仅插入那些与已存在的行不同的值?

时间:2015-04-02 17:28:54

标签: mysql

我在一台计算机上有一个database1,在另一台计算机上有一个database2(mirrror)。

Db1已更新。我应该每周更新一次db2。为了完成这个任务,我可以在db1中进行转储,然后在计算机2中重新加载de dump。但实际上只有一个表可以更改数据。 有没有办法在db1中插入这个表(在db2中)?

注意:我可以使用PHP代码做。但我想知道是否有办法直接在mysql中做到这一点。

3 个答案:

答案 0 :(得分:0)

是..使用SQLYog使用数据库复制..使用此技术可以传输或更新从一个服务器到另一个服务器或从一个数据库到另一个服务器的数据库值。安装SQLYog社区版并遵循同步工具。

答案 1 :(得分:0)

您可以使用INSERT IGNORE而不是INSERT。如果行尚不存在,则只会添加行。

有关详细信息,请参阅https://dev.mysql.com/doc/refman/5.5/en/insert.html

答案 2 :(得分:0)

要获取不存在的行,请使用异常连接。

insert into destinationtable 
select a.* from mytable a exception join destinationtable b on a.id = b.id