Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
Java 比较两个表并更新第二个表_Java_Mysql_Sql - Fatal编程技术网

Java 比较两个表并更新第二个表

Java 比较两个表并更新第二个表,java,mysql,sql,Java,Mysql,Sql,我是java新手,我正在处理两个表一个表在服务器端,另一个表在客户端。我想要的是,当服务器数据库中有任何更新时,它应该反映在客户端数据库中,当服务器中找不到客户端数据时,它应该被删除。在下面的代码中,我获取两个表数据 服务器表1 ID | NAME 1 | ABC 2 | ABC 4 | ABC 5 | ABC 本地表2 ID | NAME 1 | ABC 2

我是java新手,我正在处理两个表一个表在服务器端,另一个表在客户端。我想要的是,当服务器数据库中有任何更新时,它应该反映在客户端数据库中,当服务器中找不到客户端数据时,它应该被删除。在下面的代码中,我获取两个表数据

服务器表1

  ID     |   NAME
  1      |   ABC
  2      |   ABC
  4      |   ABC
  5      |   ABC
本地表2

  ID     |   NAME
  1      |   ABC
  2      |   ABC
  3      |   ABC
  4      |   ABC
本地表上的预期结果

  ID     |   NAME
  1      |   ABC
  2      |   ABC
  4      |   ABC
  5      |   ABC
这是我的密码

// LOCAL DATA
ResultSet local_data = stmth2.executeQuery("SELECT * FROM emoticon");
local_data.next();

//SERVER DATA
Class.forName("com.mysql.jdbc.Driver");
Connection con9 = DriverManager.getConnection("jdbc:mysql://localhost:3306/mood","root","");
Statement stmt9 = con9.createStatement();
ResultSet server_data = stmt9.executeQuery("SELECT * FROM emo");

如果两个表都在不同的MySQL服务器上,您可以使用任何标准方法来实现这一点

否则,如果本地表不在另一台MySQL服务器中,您可能会在Java程序中找到一种模仿MySQL服务器的方法。也就是说,无论如何都要使其可用作复制的从机

或者,这在Java程序中应该始终是可能的,使用轮询。让一个线程检查远程表,并每n秒将其与本地表同步一次。当然,这对资源来说不是太温和。在将更改传播到客户端之前,将有一个延迟