dbwritetable删除mysql

时间:2016-03-31 11:16:37

标签: mysql r

我是第一次使用MySql。我在mysql中使用PHPMYADMIN创建了一些数据库。其中一个表格标题为" City"。此表为两列字段1. City_ID和2. City。在此City_ID是具有自动增量的主键。

我有CSV格式的数据,我已经读到了R.从数据框中,我使用以下命令从R-DF获取City值。

City <- as.data.frame(unique(df[,10]))
names(City) <- "City"

我使用以下代码连接MySql。

library(RMySQL)
mydb <- dbConnect(MySQL(), user = "root", password = "****", dbname = "pal", host = "localhost")

dbWriteTable(mydb, "City", City, overwrite = TRUE, row.names = FALSE)

这将删除字段City_ID,并使用值填充表格的City列。不知道如何解决这个问题。我做的大部分工作都有excel或csv格式的数据。我还需要经常更新表格。对此有任何想法。

1 个答案:

答案 0 :(得分:0)

我认为,这也是这个问题。 LAST_INSERT_ID() always returns 0 (RMySQL) - separate connection issue正如Illari在不同主题上写的那样。

library("RMySQL")
con <- dbConnect(MySQL())
dbSendQuery(con, "DROP TABLE IF EXISTS t;")
dbSendQuery(con, "CREATE TABLE t (i INT NOT NULL AUTO_INCREMENT PRIMARY KEY);")
res <- dbSendQuery(con, "INSERT INTO t VALUES (NULL);")

doesn't work:
dbGetQuery(con, "SELECT LAST_INSERT_ID();")
  LAST_INSERT_ID()
1                0

# works:
dbClearResult(rs)
dbGetQuery(con, "SELECT LAST_INSERT_ID();")
  LAST_INSERT_ID()
1                1