有没有人知道如何使用RMySQL
(或其他库)来更新表中的行,而不是必须拔出整个表并将其推回?我不想只是为了更新一行而将这么大的表读入内存。
我要做的是拉出一行,更改R中的某些值并将同一行对象推回到表中。
但是,dbWriteTable
似乎替换了整个表而不仅仅是我指定的行。
答案 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)