通过r更新postgresql数据库中的表

cco*_*ell 7 postgresql r

如何使用新数据通过R更新postgresql数据库中的数据?

我试过了

dbGetQuery(con,"UPDATE table SET column1=:1,column2=:2, column3=:3 
              where id=:4", data=Rdata[,c("column1", "column3", "column3","id")])
Run Code Online (Sandbox Code Playgroud)

我也试过用$替换冒号,但这也没用.我一直在:

Error in postgresqlExecStatement(conn, statement, ...) : 
unused argument(s)
Run Code Online (Sandbox Code Playgroud)

cco*_*ell 9

我想通了用:

update <- function(i) {
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, dbname="db_name", host="localhost", port="5432", user="chris", password="password")
txt <- paste("UPDATE data SET column_one=",data$column_one[i],",column_two=",data$column_two[i]," where id=",data$id[i])
dbGetQuery(con, txt)
dbDisconnect(con)
}


registerDoMC()

foreach(i = 1:length(data$column_one), .inorder=FALSE,.packages="RPostgreSQL")%dopar%{
update(i)
}
Run Code Online (Sandbox Code Playgroud)