存储数据库中数据框的行

时间:2016-02-11 15:58:05

标签: mysql r sql-insert rmysql

我有一个数据框,我想上传到云环境。我已经连接到数据库,现在想“写下”记录。

我有一个如下所示的数据框:

  xAxis: {
    tickFormat: function(d) {
      moment(d, 'YYYYMMDD').format('YYYY-MM-DD');
    }
  }

并尝试将其添加到服务器上的“team”表中,如下所示:

#df
a  b
1 3 11
2 4 12

然而,这给了我以下错误:

 #connect to database (conection is called "con")

 for (i in nrow(df)){

  var1 <- df$a[i]
  var2 <- df$b[i]
  players_home <- dbGetQuery(con, "INSERT INTO team VALUES (var1, var2)")

 }

关于如何让这个工作的任何想法?

1 个答案:

答案 0 :(得分:0)

您需要为插入语句指定列

Some instructions here

INSERT INTO table_name (column1, column2, column3,...) 
VALUES (value1,value2, value3,...)

您还应该使用paste,否则r会假定您传递一个字符串作为参数。 See this question

在您的情况下,假设您的值与列号匹配,则为

query <- paste("INSERT INTO team VALUES(",var1, ",", var2, ")")
players_home <- dbGetQuery(con, query)