2015-09-10 20 views
0

我有以下的列的读数表行值:MySQL的替代基于自定义条件

ID,值,经度,纬度,datatimestamp

我总是有新的读数来了,所以我需要做如下:

  1. 如果新的记录具有独特的经度纬度&对,然后 插入新记录。
  2. 如果新记录在表中有一个重复的经度 &纬度对,则更新'value'和 'datatimestamp'。

在每个新批次中,我都有数百条记录到来,所以我希望尽可能使用类似REPLACE语句的内容,而不是DELETE和INSERT。

请帮忙。由于

+0

我使用MySQL工作台 –

回答

1
  1. 添加经度的唯一索引,纬度
  2. 使用INSERT ... ON DUPLICATE KEY UPDATE语法

见文件here

+0

感谢。我通过添加哈希列(MD5哈希连接长,拉列)做了您的建议。然后设置列作为唯一的,则使用下面的查询: ** INSERT INTO读数(VAL,gpsl​​ong,gpsl​​at,DATATIME,readinghash)VALUES(66,'35 0.228555' , '32.225083','2015年9月9日19 :37:15' ,MD5(CONCAT(式网络标识符号,gpsl​​ong,gpsl​​at))) ON DUPLICATE KEY UPDATE VAL = 66,DATATIME = '2015年9月9日19时37分十五秒'; ** –