我对SQLdf有个问题。尽管我正在尝试更新表,但它始终提供NULL作为输出。我对这个问题做了一些修改,但我想不出如何解决它。我的代码是:
fn$sqldf("update cons set V1='%$numbernew%' where V1=$'contact'")但在我检查了一下是否有什么变化之后,一切都和开始时一样。任何想法都会有所帮助。
发布于 2013-11-22 07:35:30
正如Joran在评论中提到的,这个问题是一个sqldf常见问题。事实上,它是sqldf FAQ #8。
正如这里所讨论的,问题是您请求更新表,但从未要求它返回表。此外,$'contract'应该为'$contract',因为您希望在contract中进行替换,然后用单引号将该替换括起来。
# set up test data for reproduciblity
con <- data.frame(V1 = c("a", "b", "c"))
contract <- "a"
numbernew <- "x"现在我们有了一些数据,试试这个:
sql1 <- fn$identity("update con set V1 ='%$numbernew%' where V1 = '$contract' ")
sql2 <- "select * from main.con"
sqldf(c(sql1, sql2))结果是:
V1
1 %x%
2 b
3 c这也是可行的:
sqldf() # start a sequence of SQL statements
fn$sqldf("update con set V1 ='%$numbernew%' where V1 = '$contract' ")
ans <- sqldf("select * from main.con")
sqldf() # SQL statements finishedhttps://stackoverflow.com/questions/20130417
复制相似问题