R dbBuildTableDefinition mysql rmysql ошибка при записи таблицы

Я работаю над R, установленным в системе Linux/Ubuntu. Я хочу записать таблицу в базу данных. Почему это не работает?

Я смог удалить таблицы, а также смог отобразить данные, присутствующие в таблице. Короче говоря, мои 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)"

person user2543622    schedule 22.10.2014    source источник


Ответы (1)


Вы можете напрямую написать таблицу через функцию dbWriteTable. Если conn является вашим объектом подключения, в этом случае вы должны попробовать:

    dbWriteTable(conn,"ee",employ)

Команда, которую вы дали, просто создает команду MySQL, которая определяет таблицу. Никакая фактическая таблица не создается в базе данных. Если вы хотите создать таблицу, вы можете взять значение dbBuildTableDefinition и вставить его в dbGetQuery. Например:

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

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

person nicola    schedule 22.10.2014