首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新函数sqldf R语言

更新函数sqldf R语言
EN

Stack Overflow用户
提问于 2013-11-22 03:42:58
回答 1查看 7.1K关注 0票数 4

我对SQLdf有个问题。尽管我正在尝试更新表,但它始终提供NULL作为输出。我对这个问题做了一些修改,但我想不出如何解决它。我的代码是:

代码语言:javascript
复制
fn$sqldf("update cons set V1='%$numbernew%' where V1=$'contact'")

但在我检查了一下是否有什么变化之后,一切都和开始时一样。任何想法都会有所帮助。

EN

回答 1

Stack Overflow用户

发布于 2013-11-22 07:35:30

正如Joran在评论中提到的,这个问题是一个sqldf常见问题。事实上,它是sqldf FAQ #8

正如这里所讨论的,问题是您请求更新表,但从未要求它返回表。此外,$'contract'应该为'$contract',因为您希望在contract中进行替换,然后用单引号将该替换括起来。

代码语言:javascript
复制
# set up test data for reproduciblity
con <- data.frame(V1 = c("a", "b", "c"))
contract <- "a"
numbernew <- "x"

现在我们有了一些数据,试试这个:

代码语言:javascript
复制
sql1 <- fn$identity("update con set V1 ='%$numbernew%' where V1 = '$contract' ")
sql2 <- "select * from main.con"
sqldf(c(sql1, sql2))

结果是:

代码语言:javascript
复制
   V1
1 %x%
2   b
3   c

这也是可行的:

代码语言:javascript
复制
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 finished
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20130417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档