我在postgresql数据库myschema.fruits
中有一个表mydatabase
。从R脚本中我想在该表中插入一行,最后是我的脚本。表格行有3列type
,taste
和color
。我在R脚本中有3个不同变量的变量名,如下所示:
type <- "Apple"
taste <- "Sweet"
color <- "Red"
我想使用RPostgreSQL driver来执行此插入,但我无法弄清楚如何执行此操作?
答案 0 :(得分:2)
作为使用 INSERT INTO 命令的替代方法,请考虑使用低级postgresqlExecStatement
函数,该函数允许查询的参数化。这样做的主要优点是您不必为适当的数据类型手动构造查询字符串,在这种情况下,您可以省略额外的引号'
:
type <- "Apple"
taste <- "Sweet"
color <- "Red"
con = dbConnect(dbDriver("PostgreSQL"),dbname = "mydatabase",
host = "localhost", port = 5432,
user = "postgres")
tmp <- postgresqlExecStatement(con,
'insert into myschema.fruits VALUES ($1, $2, $3)',
list(type, taste, color))
dbClearResult(tmp)
dbDisconnect(con)
答案 1 :(得分:1)
如有必要,请更改主机,端口,用户并添加密码。
第一个选项:将数据框附加到表格
type <- "Apple"
taste <- "Sweet"
color <- "Red"
qry = paste0("INSERT INTO myschema.fruits VALUES ('",type,"','",taste,"','",color,"');")
con = dbConnect(dbDriver("PostgreSQL"),dbname = "mydatabase",
host = "localhost", port = 5432,
user = "postgres")
dbSendQuery(con,qry)
dbDisconnect(con)
第二个选项:使用INSERT INTO命令
<a href="/about">About</a> <!-- Cannot GET error-->
<a href="/about">About</a> <!-- same code as above, but works if your site structure is: ./about/index.html-->
<a href="/about.html">About</a> <!-- OK -->