gpt4 book ai didi

r - 将参数传递给 R DBI 中的查询的正确方法

转载 作者:行者123 更新时间:2023-12-04 08:05:04 24 4
gpt4 key购买 nike

在 perl/python 中,DBI API 有一种机制可以安全地将参数插入到 sql 查询中。例如在python中我会这样做:

cursor.execute("SELECT * FROM table WHERE value > ?", (5,))    

其中 execute 方法的第二个参数是要添加到 sql 查询中的参数元组

R 的 DBI 兼容 API 是否有类似的机制?我见过的示例从未显示传递给查询的参数。如果没有,将参数插入查询的最安全方法是什么?我特别关注使用 RPostgresSQL。

最佳答案

为了完整起见,我将根据哈德利的评论添加一个答案。 DBI 包现在具有功能 sqlInterpolate这也可以执行此操作。它需要在 sql 查询中命名的函数参数列表,所有参数都必须以 ? 开头。 .摘自DBI manual以下

sql <- "SELECT * FROM X WHERE name = ?name"
sqlInterpolate(ANSI(), sql, name = "Hadley")
# This is safe because the single quote has been double escaped
sqlInterpolate(ANSI(), sql, name = "H'); DROP TABLE--;")

关于r - 将参数传递给 R DBI 中的查询的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37131569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com