dbWriteTable(...,append = T)在R中被覆盖

时间:2012-07-30 10:41:31

标签: mysql r analytics

我正在使用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每次都会被覆盖而不是追加。

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

由于 苏雷什

1 个答案:

答案 0 :(得分:9)

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

dbWriteTable(connection, name=tableName, value=rows , append=T, row.names=F, overwrite=F);