SQLQuery仅影响带有插入查询的一行

时间:2014-05-27 09:23:21

标签: mysql sql r rstudio rodbc

我在插入数据库时​​遇到问题,我创建了一个将数据插入表中的函数,但它只影响第一行。

这是我的功能:

add<- function (x,y,z){
    channel <- odbcConnect(dsn="R",uid="root",pwd="toor")
    num <- y
    s <- x
    l<-z
    requetesql <- paste("INSERT INTO `table`  (`S`,`Num`, `L`) VALUES ('",s,"','",num,"', '",l,"');")
    sqlQuery(channel,requetesql)
}

我正在使用SQLQuery和RODBC。 有sqlSave可以使用数据帧,但我不能使用它,因为我必须改变我的所有程序并从头开始。

您可以在此处看到我的查询工作正常

  [1] "INSERT INTO `table`  (`S`,`Num`, `L`) VALUES (' 1 ', ' 3 ', ' a');"
  [2] "INSERT INTO `table`  (`S`,`Num`, `L`) VALUES (' 1 ', ' 3 ', ' b ');"
  [3] "INSERT INTO `table`  (`S`,`Num`, `L`) VALUES (' 1 ', ' 3 ', ' c ');"
  [4] "INSERT INTO `table`  (`S`,`Num`, `L`) VALUES (' 1  ', ' 3 ', ' d ');" 
  [5] "INSERT INTO `table`  (`S`,`Num`, `L`) VALUES (' 1 ', ' 3 ', ' e ');"      

1 个答案:

答案 0 :(得分:1)

我认为要插入多行,您需要提供参数行数来获取。

sqlQuery(channel, query, errors = TRUE, ..., rows_at_time)
rows_at_time The number of rows to fetch at a time, between 1 and 1024. See ‘Details’

你可以看到完整的手册=&gt;第18页 http://cran.r-project.org/web/packages/RODBC/RODBC.pdf

谢谢