在R DBI中绑定变量

Ken*_*ams 10 database r

在R的DBI包中,我找不到使用绑定变量的工具.我没有找到一个文件(2002年从原来的小插曲),说约绑定变量,"也许DBI可能在未来的某个时候实现这个功能",但它看起来像迄今剩下的百废待兴.

R中的人用什么代替?只是将字符串连接到SQL中?这对安全性和性能有一些明显的问题.

编辑:

以下是占位符如何工作的示例:

query <- "SELECT numlegs FROM animals WHERE color=?"
result <- dbGetQuery(caseinfo, query, bind="green")
Run Code Online (Sandbox Code Playgroud)

这不是一个很好的深思熟虑的界面,但这个想法是,你可以使用一个值bind和驱动程序处理逃脱的细节(如果底层API不处理绑定变量本身),而不必重新实现它的调用者[严重].

use*_*076 17

对于像谷歌搜索rsqlite和dbgetpreparedquery之后我所做的那样的人,似乎在最新版本的rsqlite中你可以使用绑定变量运行SELECT查询.我刚刚运行了以下内容:

query <- "SELECT probe_type,next_base,color_channel FROM probes WHERE probeid=?"
probe.types.df <- dbGetPreparedQuery(con,que,bind.data=data.frame(probeids=ids))
Run Code Online (Sandbox Code Playgroud)

这相对较快(从450,000行表中选择2,000行)并且非常有用.

仅供参考.