11

我正在使用 RJDBC 从 R 访问 MySQL。之前我曾经使用 RMySQL,它不适用于 R 2.15。围绕 SO 进行了很多讨论,但我仍然无法在 R 2.15 中使用 RMySQL 包,因此切换到 RJDBC。

当我使用dbWriteTable(..., append = T)命令将记录附加到 MySQL 表中时,它只是覆盖,请参见下面的代码。

为 MySQL 服务器设置环境变量

Sys.setenv(MYSQL_HOME='C:/Program Files (x86)/MySQL/MySQL Server 5.1')

library(RJDBC)

MySQL 连接

drv <- JDBC("com.mysql.jdbc.Driver","mysql-connector-java-5.0.5.jar", "`")
conn <- dbConnect(drv, "Retail", user="root", password="abc")
..................
..................
..................
dbWriteTable(conn, "Customer_Tbl", x, row.names=F,append = T)

Customer_Tbl每次都覆盖而不是附加。

有人可以帮助解决这个问题吗?

谢谢苏雷什

4

1 回答 1

11

您需要使用 overwrite=FALSE,示例代码如下:

dbWriteTable(connection, name=tableName, value=rows , append=T, row.names=F, overwrite=F);
于 2014-01-20T17:10:21.563 回答