我有一个使用 RSQLite 的 R 数据库。该数据库中有一个表,我希望用户能够导入 .csv 文件以将数据添加到该表中。如果我使用 dplyr 来执行此操作,我是否需要担心“清理”电子表格中的数据以确保它们不会破坏我的数据库?例如,确保撇号不会干扰 SQL 查询。dplyr 会处理这个吗?我对 SQL 不太熟悉,所以请耐心等待。
只要您使用参数化语句RSQLite(dplyr 与此无关),您就应该是安全的,即潜在危险的数据被设置为单独的参数,而不是直接放入查询文本中。RSQLite 将确保值被正确转义以避免 SQL 注入。
该文档提供了此类查询的示例,此处带有一个delete操作,但它可以转置为插入。
rs <- dbSendStatement(mydb, 'DELETE FROM iris WHERE "Sepal.Length" < :x')
## added: bind the actual data here:
dbBind(rs, param = list(x = 4.5))
dbGetRowsAffected(rs)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |