【问题标题】:SQLQuery affect only one row with insert querySQLQuery 只影响插入查询的一行
【发布时间】:2014-05-27 09:23:21
【问题描述】:

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

这是我的功能:

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)
}

我正在使用带有 RODBC 的 SQLQuery。 有 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 ');"      

【问题讨论】:

    标签: mysql sql r rstudio rodbc


    【解决方案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’
    

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

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2016-10-14
      • 2015-10-06
      • 1970-01-01
      相关资源
      最近更新 更多