Ale*_*lex 21 mysql sql rdbms r rmysql
我有一个名为的数据框,df
如下所示:
dte, val
2012-01-01, 23.2323
2012-01-02, 34.343
Run Code Online (Sandbox Code Playgroud)
列上的类型是日期和数字.我想使用已经打开的连接将其写入MySQL数据库.连接工作正常,因为我能够查询db罚款.我尝试运行以下内容:
dbWriteTable(con, name="table_name", value=df, field.types=list("date", "double(20,10)"))
Run Code Online (Sandbox Code Playgroud)
这会生成错误:
函数错误(classes,fdef,mtable):无法找到函数"make.db.names"的继承方法,签名为"MySQLConnection","NULL"
如果我没有指定field.types,并运行:
dbWriteTable(con, name="table_name", value=df)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
mysqlExecStatement(conn,statement,...)出错:RS-DBI驱动程序:(无法运行语句:BLOB/TEXT列'dte'在密钥规范中使用,没有密钥长度)
任何人都可以对此有所了解吗?
谢谢
Ale*_*lex 30
玩完东西之后,我意识到问题所在:field.types
必须是一个名单列表向量,而不仅仅是一个列表; 此外,不得包含行名称,否则我们需要三种字段类型.对于上面的示例,以下工作正常:
dbWriteTable(con, name="table_name", value=df,
field.types = c(dte="date", val="double(20,10)"), row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18543 次 |
最近记录: |