Я хочу запустить параметризованный запрос в базе данных MySQL из RStudio.
Как, например, есть таблица, скажем, TEST
, которая содержит столбцы имени и возраста.Я хочу получить данные из ТЕСТА where age > 30
.Я могу использовать paste()
для построения запроса, но мне нужно значение 30 в качестве параметра.
Итак, я пробовал следующий код:
> myQ<-dbSendQuery(conn,"SELECT * FROM TEST WHERE age > ?")
> dbBind(myQ,list(30))
> dbFetch(myQ)
Но после 1-й строки выдается следующая ошибка:
Ошибка в .local (conn, оператор, ...): не удалось выполнить оператор: в синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '?'в строке 1
Может ли кто-нибудь помочь мне, как этого добиться?
Изменить 1
Я могу добиться этого с помощью нижеприведенногокод, но я не хочу этого:
> age<-30
> myQ<-dbSendQuery(conn,paste("SELECT * FROM TEST WHERE age >",age))
> dbFetch(myQ)
Есть ли способ выполнить мое требование?
Изменить 2
См.скриншот ниже, для справки перейдите по этой ссылке