ant*_*CR1 6 mysql database r dbconnection
我想从 R 中的数据帧将数据插入 MySQL。我成功地使用 dbConnect 从 R 到 MySQL 连接,但是当我尝试使用 dbWriteTable 插入数据时,我不断收到错误
unable to find an inherited method for function 'dbWriterTable' for signature '"integer", "character", "data.frame"'。
现在,我已经尝试了此处提到的建议解决方案如何解决此错误--dbWriteTable(),但此解决方案对我不起作用。我原来的代码是
dbWriteTable(conn, "Date", france$Date)
Run Code Online (Sandbox Code Playgroud)
因为我在 MySQL 中的表被调用Date,并且我在 R 中的数据框被调用france并且有一列Date包含日期(该列的类型也是日期)。在建议的解决方案之后,我的代码变成
dbWriteTable(conn, "Date", data.frame(dat=france$Date), row.names=FALSE, append=TRUE)
Run Code Online (Sandbox Code Playgroud)
但我遇到了同样的错误。我尝试添加field.types=list("date")以下解决方案RMySQL dbWriteTable with field.types中提到的内容,但出现相同的错误。
最后,我尝试dbSendQuery与 一起使用paste()来手动插入我的数据,如此处建议的How to insert integer values with query in MySQL in R? 但我再次遇到同样的错误!
这真让我抓狂。任何帮助将不胜感激。
我遇到了同样的错误,因为我提供的对象dbWriteTable()不是 data.frame。
为了解决这个问题,我只需先将对象转换为 data.frame
dat <- as.data.frame(dat)
dbWriteTable(con, "mydbtable", dat)
Run Code Online (Sandbox Code Playgroud)
您是否尝试连接到您的数据库?我遇到了同样的错误,当我检查连接时,它已损坏。确保检查与数据库的连接,然后运行 dbWriteTable 命令。应该有效