首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RMySQL错误-重复行名

问RMySQL错误-重复行名
EN

Stack Overflow用户
提问于 2016-03-17 07:38:41
回答 1查看 301关注 0票数 1

当我运行下面的代码来读取我的MySQL服务器表时,会出现以下错误。

代码语言:javascript
复制
my_data <- dbReadTable(mydb, "ar_data")
Warning message:
row.names not set (duplicate elements in field) 

我有没有办法不让R读行名。我的表很好,我不想对我的MySQL表做任何更改。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-17 08:10:42

以下是一些选择:

代码语言:javascript
复制
library(RMySQL) 
library(DBI)
drv <- dbDriver("MySQL") 
con <- dbConnect (drv, dbname="mydb", user="username") 

data <- mtcars; rownames(data) <- NULL; data$row_names <- rownames(mtcars)[1]
dbWriteTable(con, "mtcars", data, overwrite = T, row.names = F)
head( dbReadTable(con, "mtcars"), 3 )
#    mpg cyl disp  hp drat    wt  qsec vs am gear carb row_names
# 1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4 Mazda RX4
# 2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4 Mazda RX4
# 3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1 Mazda RX4
# Warning message:
# row.names not set (duplicate elements in field) 

# suppress warnings
head( suppressWarnings(dbReadTable(con, "mtcars")), 3 )
#    mpg cyl disp  hp drat    wt  qsec vs am gear carb row_names
# 1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4 Mazda RX4
# 2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4 Mazda RX4
# 3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1 Mazda RX4

# rename column row_names to rn
dbSendQuery(con, "ALTER TABLE mtcars CHANGE COLUMN row_names rn TEXT")
head( dbReadTable(con, "mtcars"), 3 )
#          rn  mpg cyl disp  hp drat    wt  qsec vs am gear carb
# 1 Mazda RX4 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
# 2 Mazda RX4 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
# 3 Mazda RX4 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1

dbSendQuery(con, 'DROP TABLE mtcars')
dbDisconnect(con)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36054256

复制
相关文章

相似问题

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