如何解决此错误 - dbWriteTable()

时间:2015-05-13 09:12:45

标签: mysql r

我成功连接到MYSQL DB并尝试将我的结果写回数据库:dbWriteTable(con,"predicted min",forecast$min)其中预测$ min只是双精度矢量。

我收到此错误消息:

  

(函数(classes,fdef,mtable)中的错误:     无法为签名'" MySQLConnection","字符","数字"'

找到函数'dbWriteTable'的继承方法

我想我的第三个参数需要一个dataframe对象,所以我尝试了这个:dbWriteTable(con,"predicted min",data.frame(min=forecast0.1$min))

但得到了这个错误:

  

.local(conn,statement,...)出错:     无法运行语句:您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以便在{(row_names文本附近使用正确的语法,       min加倍   )'在第2行

我正在使用SQLyog。我不知道这是否与此问题有关。有什么建议?提前谢谢。

1 个答案:

答案 0 :(得分:3)

SQLyog与此问题无关。如果表只有一列(min),则无需将数据帧的行名写入表中。尝试:

dbWriteTable(con,"predicted min",data.frame(min=forecast0.1$min), row.names = FALSE, append = TRUE)

否则,您将带有两个值的元组插入到包含一列的表中。如果该表已存在且您不想覆盖该表,则还应该append = TRUE

编辑:表名中不应包含空格。