RMySQL更新行,不是完整表

时间:2015-10-30 02:25:37

标签: mysql r database rmysql

有没有人知道如何使用RMySQL(或其他库)来更新表中的行,而不是必须拔出整个表并将其推回?我不想只是为了更新一行而将这么大的表读入内存。

我要做的是拉出一行,更改R中的某些值并将同一行对象推回到表中。

但是,dbWriteTable似乎替换了整个表而不仅仅是我指定的行。

2 个答案:

答案 0 :(得分:3)

最简单的方法是在R中构造一个包含足够SQL Update语句的字符串,并使用dbSendQuery将数据推回到表中。

答案 1 :(得分:0)

使用 sqldf 包:

library(sqldf)
table_name = data.frame(a = 1:10, b = 4)
# Open connection
sqldf()
fn$sqldf("update table_name set b=1")
ans = sqldf("select * from main.table_name")
# Close connection
sqldf()
print(table_name)