RODBC - 为什么我的更新查询不起作用?

RODBC - Why is my update query not working?

我正在读取一个 .csv 文件并比较两个字段,一个在名为 "Col" 的 table 中,一个在名为 "newdata" 的 .csv 文件中。如果它们匹配,我用 "newdata" 中 avg_price 的值覆盖 "COL" table 中的 item_price。我没有收到任何错误,但 COL 中没有任何更改。

library(RODBC)
db <- "C:/Projects/Online.accdb"
conn <- odbcConnectAccess2007(db) 
newData <- read.csv("C:/Projects/duplicates.csv", stringsAsFactors = F)
for(row in 1:nrow(newData)){
  query <- paste0(
    "UPDATE COL 
    SET item_price = ",newData$avg_price[row], 
    "WHERE COL.generic ='",newData$generic[row],"'"  
    )
   sqlQuery(conn, query)
}
close(conn)

根据评论,提出以下修复建议,这将更改输入文件的列名以匹配查询的名称:

library(RODBC)
db <- "C:/Projects/Online.accdb"
conn <- odbcConnectAccess2007(db) 
newData <- read.csv("C:/Projects/duplicates.csv", stringsAsFactors = F)
names(newData) <- c("generic","avg_price")
for(row in 1:nrow(newData)){
  query <- paste0("UPDATE COL SET item_price = ",newData$avg_price[row]," WHERE COL.generic ='",newData$generic[row],"'")
   sqlQuery(conn, query)
}
close(conn)