首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dbwritetable删除mysql中的自动增量字段

问dbwritetable删除mysql中的自动增量字段
EN

Stack Overflow用户
提问于 2016-03-31 19:16:37
回答 1查看 622关注 0票数 0

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

我有CSV格式的数据,我已经将其读入R。从数据帧中,我使用以下命令从R- DF中获取City值。

代码语言:javascript
复制
City <- as.data.frame(unique(df[,10]))
names(City) <- "City"

我正在使用以下代码连接MySql。

代码语言:javascript
复制
library(RMySQL)
mydb <- dbConnect(MySQL(), user = "root", password = "****", dbname = "pal", host = "localhost")

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

这将删除字段City_ID,并用值填充表的城市列。不知道怎么解决这个问题。我做的大多数工作都有excel或csv格式的数据。我还需要频繁地更新表。对此有什么想法。

EN

回答 1

Stack Overflow用户

发布于 2016-10-02 02:32:30

我认为这也是这个案例的问题所在。正如伊拉利在不同的主题中所写的那样,LAST_INSERT_ID() always returns 0 (RMySQL) - separate connection issue。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36331874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档