我正在研究Linux / Ubuntu系统上安装的R。我想将表写入数据库。为什么不起作用?
我能够删除表,也能够显示表中存在的数据。简而言之,我的dbGetQuery和dbRemoveTable可以完美地工作。
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(3, 2, 1)
employ<- data.frame(employee, salary)
> employ
employee salary
1 John Doe 3
2 Peter Gynn 2
3 Jolie Hope 1
> dbBuildTableDefinition(dbh,"ee",employ)
[1] "CREATE TABLE ee \n( row_names text,\n\temployee text,\n\tsalary double \n)"
最佳答案
您可以通过dbWriteTable
函数直接编写表。如果conn
是您的连接对象,在这种情况下,您应该尝试:
dbWriteTable(conn,"ee",employ)
您提供的命令只是构建定义表的MySQL命令。在数据库中没有创建任何实际的表。如果要创建表,可以使用
dbBuildTableDefinition
的值并将其插入dbGetQuery
。例如: tableDef<-dbBuildTableDefinition(dbh,"ee",employ)
dbGetQuery(conn,tableDef)
请注意,通过这种方式,您只需创建表的定义,而无需在表中添加任何值。
关于mysql - R dbBuildTableDefinition mysql rmysql错误写入表格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26516501/