2014-10-22 2 views
0

Linux/Ubuntu 시스템에 설치된 R에서 작업하고 있습니다. 데이터베이스에 테이블을 쓰고 싶습니다. 왜 작동하지 않습니까?R dbBuildTableDefinition mysql rmysql 오류 테이블 작성

테이블을 삭제할 수 있었고 테이블에있는 데이터를 표시 할 수도있었습니다. 즉, 내 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)" 

답변

1

dbWriteTable 함수를 통해 테이블을 직접 쓸 수 있습니다. conn이 연결 개체의 경우,이 경우에 당신은 시도해야합니다 : 당신이 준

dbWriteTable(conn,"ee",employ) 

명령은 단지 테이블을 정의하는 MySQL의 명령을 작성합니다. 실제 테이블은 데이터베이스에 작성되지 않습니다. 표를 만들려면 dbBuildTableDefinition 값을 받아 dbGetQuery에 꽂습니다. 예를 들면 다음과 같습니다.

tableDef<-dbBuildTableDefinition(dbh,"ee",employ) 
    dbGetQuery(conn,tableDef) 

이렇게하면 값을 넣지 않고 테이블의 정의를 만들 수 있습니다.

관련 문제