我想使用R的dbWriteTable()
包的DBI
将数据写入数据库。通常,各个表已经存在,所以我使用参数append = TRUE
。如何通过dbWriteTable()
获取哪些行添加到表中?大多数表都包含UNIQUE
个值的某些列,因此SELECT
将起作用(请参阅下面的简单示例)。但是,对于所有这些都不是这样,或者仅UNIQUE
只有几列使SELECT
更复杂。另外,我想把写作和查询放到一个函数中,所以我希望所有情况都采用一致的方法。
我主要需要这个来获取数据库添加的PRIMARY KEY
,并允许用户快速查看添加的内容。如果重要,我的数据库是PostgreSQL,我想使用odbc
包进行连接。
我有类似的想法,但是,我正在寻找更通用的解决方案:
library(DBI)
con <- dbConnect(odbc::odbc(), dsn = "database")
dbWriteTable(con,
name = "site", value = data.frame(name = c("abcd", "efgh"),
append = TRUE))
dbGetQuery(conn,
paste("SELECT * FROM site WHERE name in ('abcd', 'efgh');"))