我试图从数据库中读取表并出现错误:
.valueClassTest(ans,“ character”,“ dbListFields”)中的错误:
  泛型函数“ dbListFields”的无效值,类“数字”,应为“字符”

这是我的代码:

library(RMySQL)
library(dbConnect)
mydb = dbConnect(MySQL(), user='user',
             password='pwd', dbname='blank_copy',
             host='IPaddress', port=portnumber)
dbListTables(mydb)
dbListFields(mydb, 'SELECT * FROM tablename')


我不知道为什么对于此特定表会出现此类错误。

谁能帮我解决这个错误?

谢谢。

最佳答案

您需要根据documentation将表名作为dbListFields的第二个参数传递。

因此,您应该执行以下操作:

library(RMySQL)
library(dbConnect)
mydb = dbConnect(MySQL(), user='user',
         password='pwd', dbname='blank_copy',
         host='IPaddress', port=portnumber)
tables <- dbListTables(mydb)
#tables is a character vector, so you can just pass a subset of that
fields <- dbListFields(mydb, tables[1])

关于mysql - 泛型函数“dbListFields”的无效值,类“数字”,应为“字符”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52738085/

10-12 17:52