【发布时间】:2019-11-29 17:43:00
【问题描述】:
我正在尝试使用dbWriteTable 方法将新数据附加到已经存在的 MySQL 表中。我过去使用它没有问题,但是现在它失败了,因为表已经存在。尽管使用了overwrite=FALSE, append=TRUE,
代码:
full_sum_table <- 'mydb.summary'
dbWriteTable(conn=open_connection, name=full_sum_table, value=summary_data_final, overwrite=FALSE, append=TRUE, row.names=0)
Error in mysqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not run statement: Table 'summary' already exists)
[1] FALSE
Warning message:
In mysqlWriteTable(conn, name, value, ...) :
could not create table: aborting mysqlWriteTable
此代码的第一次调用工作正常,但后续调用失败。
任何想法将不胜感激。谢谢
环境:
R version 3.0.2
Packages: DBI (I was using RMySQL but it is not available for 3.0.2)
MySQL v5.6.14
OS: Windows Server 7
【问题讨论】:
-
似乎是一个错误,最好向包维护者报告。
-
@hadley - 我希望它不是,但考虑到它以前可以工作,现在也许不是更新引起了不稳定的事情。我刚刚完全重新安装了 R 和 RMySQL 包(绝望地),但我仍然遇到问题。
-
并不是说这很有帮助,但我可以确认 PostgreSQL 连接器也存在该错误。我会试着调查一下。我像你一样,@getting-there,写入公共模式,然后从 R 运行两个额外的查询,我将表移动到所需的模式并公开删除它。浪费,但完成了工作。
-
现有表中是否有自增主键?如果是,您是否看过:stackoverflow.com/questions/26449666/… 和 stackoverflow.com/questions/38427757/…
-
如果您有答案,请添加并标记为已接受