我正在尝试使用RMySQL包将我的R会话连接到MySQL服务器。 服务器上的一个表称为“order”,我已经搜索了如何使用MySQL导入一个名为order的表(通过将其放入''),但语法不适用于RMySQL查询。
当我运行以下声明时:
order_query = dbSendQuery(mydb,"SELECT * FROM 'order'")
它返回以下错误:
.local(conn,statement,...)出错:无法运行语句: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行''order'附近
任何人都知道如何在R中解决这个问题?
答案 0 :(得分:0)
MySQL中的单引号表示字符串文字,您不应该将它们放在表名周围。尝试不带引号的查询:
order_query = dbSendQuery(mydb,"SELECT * FROM `order`")
如果由于某种原因,你需要转义表名,然后使用反引号,例如
SELECT * FROM `some table` -- table name with a space (generally a bad thing)
修改强>
正如@Ralf指出的那样,在这种情况下你需要反引号,因为ORDER
是一个MySQL关键字,你不应该使用它来命名你的表和列。