我有几百个csv,我想用R脚本插入MySql数据库。
library(RMySQL)
library(caroline)
...
...
con <- dbConnect(MySQL(), user="root", password="mypass", dbname="Data", host="localhost")
fields <- dbListFields(con, db.table.name)
dbWriteTable2(con,db.table.name,data,row.names=FALSE,fill.null=TRUE)
dbDisconnect(con)
...
...
R回答我:
Error in mysqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not run statement: Unknown column 'id' in 'field list')
但是在我的数据框和mysql表中的任何一个表中都没有id
字段。
那么R试图告诉我什么?
Here这是我的数据库架构。
这里是str()
我的数据
STR(数据)
'data.frame': 306 obs. of 22 variables:
$ Division : chr "B1" "B1" "B1" "B1" ...
$ Eventdate: Date, format: "2000-08-12" "2000-08-12" "2000-08-12" "2000-08-12" ...
$ HomeTeam : chr "Beveren" "Mechelen" "Louvieroise" "Mouscron" ...
$ AwayTeam : chr "Charleroi" "Genk" "Lokeren" "Germinal" ...
$ FTHG : int 1 0 0 3 2 1 6 3 0 2 ...
$ FTAG : int 2 0 0 0 1 3 2 4 0 1 ...
$ FTR : chr "A" "D" "D" "H" ...
$ HTHG : int 1 0 0 1 1 0 3 1 0 1 ...
$ HTAG : int 1 0 0 0 0 1 0 2 0 0 ...
$ HTR : chr "D" "D" "D" "H" ...
$ GBH : num 2.2 2 2.3 1.9 1.41 2.7 1.8 2.6 4 1.5 ...
$ GBD : num 3.5 3.6 3.3 3.3 4.1 3.3 3.4 3.2 3 3.5 ...
$ GBA : num 2.5 2.65 2.45 3.5 4.7 2.1 3.5 2.2 1.75 5.1 ...
$ IWH : num 2 2.1 2.35 1.8 1.75 2.3 1.6 2.6 3.8 1.4 ...
$ IWD : num 3 3 3 3 3.1 3 3.2 3 3.2 3.6 ...
$ IWA : num 2.9 2.8 2.35 3.5 3.6 2.4 4.2 2.2 1.65 5.5 ...
$ SBH : num 2.05 2.3 2.45 1.85 1.6 2.6 1.6 2.75 4.1 1.53 ...
$ SBD : num 3.4 3.4 3.4 3.4 3.5 3.2 3.5 3.25 3.45 3.5 ...
$ SBA : num 2.95 2.55 2.4 3.5 4.5 2.3 4.5 2.2 1.7 5 ...
$ WHH : num 2 2.4 2.4 -1 1.61 2.4 1.61 2.6 3.8 1.5 ...
$ WHD : num 3.4 3.3 3.3 -1 3.6 3.3 3.75 3.3 3.5 3.6 ...
$ WHA : num 2.9 2.4 2.4 -1 4.2 2.4 4 2.25 1.7 5.2 ...
答案 0 :(得分:0)
根据对caroline
包的一些测试,dbWriteTable2
仅对具有id
列的表有用。来自?dbWriteTable2
:它返回If successful, the ids of the newly added database records (invisible)
。如果表没有要返回的id列,dbWriteTable2
似乎失败。