相关疑难解决方法(0)

R:尽管'append = TRUE',但为什么dbWriteTable在表存在时失败

我正在尝试将新数据附加到已使用该dbWriteTable方法存在的MySQL表中.我在过去使用过它没有问题,但它现在失败了因为表已经存在.这是尽管使用overwrite=FALSE, append=TRUE,

代码:

full_sum_table <- 'mydb.summary'    
dbWriteTable(conn=open_connection, name=full_sum_table, value=summary_data_final, overwrite=FALSE, append=TRUE, row.names=0)

Error in mysqlExecStatement(conn, statement, ...) : 
   RS-DBI driver: (could not run statement: Table 'summary' already exists)
[1] FALSE
Warning message:
In mysqlWriteTable(conn, name, value, ...) :
  could not create table: aborting mysqlWriteTable
Run Code Online (Sandbox Code Playgroud)

第一次调用此代码可以正常工作,但后续调用失败.

任何想法将不胜感激.谢谢

环境:

  R version 3.0.2
  Packages: DBI (I was using RMySQL but it is not available for 3.0.2)
  MySQL v5.6.14
  OS: Windows Server 7
Run Code Online (Sandbox Code Playgroud)

mysql r

13
推荐指数
1
解决办法
8041
查看次数

如何从 R 在 PostgreSQL 中写表?

目前,要在 PostgreSQL 表中插入数据,我必须创建一个空表,然后insert into table values ...将数据框折叠为包含所有值的单个字符串。它不适用于大型数据帧。

dbWtriteTable()不PostgreSQL的工作,并提供了以下错误......

Error in postgresqlpqExec(new.con, sql4) : RS-DBI driver: (could not Retrieve the result : ERROR: syntax error at or near "STDIN" LINE 1: COPY "table_1" FROM STDIN
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下 hack 作为回答之前提出的类似问题的建议。这是链接...如何使用自动递增的主键将数据从 R 写入 PostgreSQL 表?

body_lines <- deparse(body(RPostgreSQL::postgresqlWriteTable))
new_body_lines <- sub(
  'postgresqlTableRef(name), "FROM STDIN")', 
  'postgresqlTableRef(name), "(", paste(shQuote(names(value)), collapse = ","), ") FROM STDIN")', 
  body_lines,
  fixed = TRUE
)
fn <- RPostgreSQL::postgresqlWriteTable
body(fn) <- parse(text = new_body_lines)
while("RPostgreSQL" %in% search()) …
Run Code Online (Sandbox Code Playgroud)

postgresql r

4
推荐指数
1
解决办法
5232
查看次数

标签 统计

r ×2

mysql ×1

postgresql ×1