相关疑难解决方法(0)

如何使用自动增量主键将数据从R写入PostgreSQL表?

我在PostgreSQL数据库中有一个表,它有一个BIGSERIAL自动递增的主键.重新使用:

CREATE TABLE foo
(
  "Id" bigserial PRIMARY KEY,
  "SomeData" text NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我想通过RPostgreSQL包从R中将一些数据附加到此表中.在R中,数据不包括Id列,因为我希望数据库生成这些值.

dfr <- data.frame(SomeData = letters)
Run Code Online (Sandbox Code Playgroud)

这是我用来尝试编写数据的代码:

library(RPostgreSQL)
conn <- dbConnect(
  "PostgreSQL", 
  user     = "yourname", 
  password = "your password",
  dbname   = "test"
)
dbWriteTable(conn, "foo", dfr, append = TRUE, row.names = FALSE)
dbDisconnect(conn)
Run Code Online (Sandbox Code Playgroud)

不幸的是,dbWriteTable抛出一个错误:

## Error in postgresqlgetResult(new.con) : 
##   RS-DBI driver: (could not Retrieve the result : ERROR:  invalid input syntax for integer: "a"
## CONTEXT:  COPY …
Run Code Online (Sandbox Code Playgroud)

postgresql r

11
推荐指数
1
解决办法
3157
查看次数

标签 统计

postgresql ×1

r ×1