【发布时间】:2012-06-24 22:43:39
【问题描述】:
有没有办法使用RMySQL 包创建一个临时表?如果是这样,正确的方法是什么?特别是我正在尝试将我的 R 会话中的数据框写入临时表。我有几个并行运行的进程,我不想担心名称冲突,这就是为什么我想让它们成为临时的,这样它们只对每个单独的会话可见。解决方案应该以某种方式涉及dbWritetable 而不是dbSendQuery("create temporary table tbl;")。
注意:我在网上找到了一些建议使用dbSendQuery(con, "create temporary table x (x int)") 手动创建临时表,然后简单地用dbWriteTable() 覆盖它的东西。这不起作用。
【问题讨论】:
-
在你的
create temporary table行之后运行dbSendQuery(con,"COMMIT")可以解决问题吗?礼貌:stat.ethz.ch/pipermail/r-sig-db/2009q1/000575.html -
我会试一试的。谢谢你的建议!
-
创建临时表后,尝试
dbWriteTable(..., append=TRUE, overwrite=FALSE)。也可以使用另一个程序连接到数据库并检查表是否存在?
标签: sql r temp-tables rmysql