R RMySQL未转义表名,与MySQL保留关键字冲突

R RMySQL未转义表名,与MySQL保留关键字冲突,r,keyword,reserved-words,backticks,rmysql,R,Keyword,Reserved Words,Backticks,Rmysql,代码: mysqlExecStatement(conn,statement,…)中出错: RS-DBI驱动程序:(无法运行语句:您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解使用“SSL”附近的正确语法 ( 日期文本, 开双,, 高双,, 低双,, 接近双倍, 第1行的体积) 问题是股票代码“SSL”也是一个MySQL关键字。似乎RMySQL没有转义表名 要补充的是,同样的问题是,tickers“ALL”和“KEY”也有保留字。所以我只需要弄清楚如何用RMySQL正

代码:

mysqlExecStatement(conn,statement,…)中出错: RS-DBI驱动程序:(无法运行语句:您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解使用“SSL”附近的正确语法 ( 日期文本, 开双,, 高双,, 低双,, 接近双倍, 第1行的体积)

问题是股票代码“SSL”也是一个MySQL关键字。似乎RMySQL没有转义表名

要补充的是,同样的问题是,tickers“ALL”和“KEY”也有保留字。所以我只需要弄清楚如何用RMySQL正确地转义表名,但到目前为止我还是空的

编辑添加:我意识到可以使用dbSendQuery,但我真的想使用dbWriteTable。我真的很惊讶表名没有正确地自动回勾

编辑以添加更多内容:例如,我还尝试了name=paste0(dbname,“.”,symbol),它与MySQL一起使用以跳过保留字,但我发现dbWriteTable函数使用内置的dbExistsTable()函数,而该函数不适用于更改


我可以重写dbExistsTable函数来覆盖内置函数作为一种解决方法,但我不知道如何从dbConnect()函数中获得dbname来继承。仍在研究这个问题…

是否尝试将“SSL”包含在backticks中?
paste0(“`,'SSL',“`”)
是的,我尝试过,但由于函数dbWriteTable中的SQL查询的其余部分是以这种方式构造的,因此它无法与函数dbWriteTable一起工作(不转义其他变量会导致SQL错误)。我给Jeffrey Horner(维护人员)发了电子邮件看看是否有解决方法,或者是否需要修复bug。在此期间,我必须自己重新编写函数。
dbWriteTable(con, name=symbol, value=df, row.names=FALSE, append=TRUE)