2014-10-22 2 views
0

Я работаю над R, установленным в системе Linux/Ubuntu. Я хочу написать таблицу в базу данных. Почему это не работает?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) 

Обратите внимание, что таким образом вы просто создаете определение таблицы, не помещая в нее никакого значения.

Смежные вопросы