我正在研究安装在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)"
答案 0 :(得分:1)
您可以通过dbWriteTable
函数直接编写表格。如果conn
是您的连接对象,在这种情况下您应该尝试:
dbWriteTable(conn,"ee",employ)
您提供的命令只构建定义表的MySQL命令。数据库中未创建实际表。如果要创建表格,可以取dbBuildTableDefinition
的值并将其插入dbGetQuery
。例如:
tableDef<-dbBuildTableDefinition(dbh,"ee",employ)
dbGetQuery(conn,tableDef)
请注意,这样您只需创建表的定义,而不在其中添加任何值。