我有数百个要使用R脚本插入到MySql数据库中的csv。

   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 ...

最佳答案

根据对软件包caroline的一些测试,dbWriteTable2仅对具有id列的表有用。从?dbWriteTable2:返回If successful, the ids of the newly added database records (invisible)。如果表没有要返回的id列,则dbWriteTable2似乎失败。

10-04 14:53
查看更多