不使用REPLACE INTO更新表

时间:2014-10-10 07:59:32

标签: mysql

我的应用程序将一些日志本地存储到表中,但同时它也将相同的数据存储在远程服务器数据库中。如果由于某种原因与远程服务器的连接中断,则应用程序继续在本地存储数据。在工作结束时,应用程序必须将本地数据复制到远程服务器。

双方的表格具有相同的结构,但没有定义主键,因此使用REPLACE INTO无效。有没有其他方法可以将数据从本地数据库复制到远程数据库,但不能复制远程数据库中已存在的记录?

表格如下:

+-------------+------------+------------+  
| ProductionID| Start      | Factor     |
+-------------+------------+------------+  
| 1123        | 1          |   Y        |
+-------------+------------+------------+    
| 1123        | 2          |   N        |
+-------------+------------+------------+    
| 1123        | 3          |   Y        |
+-------------+------------+------------+     
| 2212        | 6          |   Y        |
+-------------+------------+------------+    
| 2212        | 4          |   Y        |
+-------------+------------+------------+ 

1 个答案:

答案 0 :(得分:0)

你真的应该拥有一张主键。如果要防止重复查看所有字段,可以将所有列放在主键

ALTER TABLE your_tbl
ADD CONSTRAINT pk PRIMARY KEY (ProductionID,Start,Factor)