0

好的...这是我的问题...我正在从云 REST 查询中提取几千条记录,并在 CRON 期间更新本地表,并使用提取的数据插入和更新现有记录。IE

INSERT INTO `property` ($columns_string) 
VALUES ($values_string) ON DUPLICATE KEY UPDATE $update_string

非常标准的东西...但是我遇到了一个问题,即如果在提取的数据中不再存在记录,则记录将被“孤立”,即我需要删除新数据中不再存在的现有记录或更新一个标志或其他东西告诉我的系统不再以相同的方式处理它们。

我希望我是清楚的...

编辑:我应该补充一点,REST pull 实际上是循环通过几种不同“类型”的数据,并且 INSERT 将它们全部填充到一个主表中,所以一个简单的“如果不存在则删除..”不会真正起作用..

advTHANKSance,- 标记

4

1 回答 1

1

在表“property”中添加一列“flag tinyint(1)”。在将更新列值上传为 0 之前

update `property`
set flag = 0

在“插入”子句中更新这个新列

INSERT INTO `property` ($columns_string, flag) 
VALUES ($values_string, 1) ON DUPLICATE KEY UPDATE $update_string, flag=1

上传后删除/更新未使用的字段

update `property`
set active=0
where flag=0

如果字段“活动”表示 1 - 活动,0 - 不活动

于 2013-11-06T13:21:27.227 回答