使用R

时间:2018-10-05 07:57:35

标签: mysql r

我正在尝试使用R中的类似数据框更新“状态”列(一个MySql表)。

ID  Status
216 1
215 1
217 1

我完全可以用代码来做到这一点。

dbExecute(con_pratham, "Update unit_dummy set isDeleted=0 where UnitId =215")

但是,事实是,有太多的ID需要更新。我尝试使用for循环运行相同的代码,但是由于某些原因,只有第一个id在服务器上得到更新。

我需要建议/帮助来运行循环中的更新策略。

1 个答案:

答案 0 :(得分:2)

如果您需要在特定间隔内更新所有ID的状态,请使用以下查询替换

"Update unit_dummy set isDeleted = 0 where UnitId >= 215 and UnitId < 300"

如果数字是随机分布的:

listID <- c(215, 200, 521, 31, 25)
dbExecute(con_pratham, paste("Update unit_dummy set isDeleted=0 where UnitId = ", paste(listID, collapse = " OR UnitID = "), sep = ""))

如果是字符串:

listID <- c("215", "200", "521", "31", "25")
dbExecute(con_pratham, paste("Update unit_dummy set isDeleted=0 where UnitId like ", paste(listID, collapse = " OR UnitID like "), sep = ""))

listID <- c("215", "216", "217", "218", "219")
dbExecute(con_pratham, paste("Update unit_dummy set isDeleted=0 where UnitId like "21%")