R: Почему dbWriteTable не работает, когда таблица существует, несмотря на 'append = TRUE'
Я пытаюсь добавить новые данные в таблицу MySQL, которая уже существует с помощью метода dbWriteTable
. Я использовал его в прошлом без проблем, но теперь он терпит неудачу, потому что таблица уже существует. Это несмотря на использование overwrite=FALSE, append=TRUE,
Код:
full_sum_table <- 'mydb.summary'
dbWriteTable(conn=open_connection, name=full_sum_table, value=summary_data_final, overwrite=FALSE, append=TRUE, row.names=0)
Error in mysqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not run statement: Table 'summary' already exists)
[1] FALSE
Warning message:
In mysqlWriteTable(conn, name, value, ...) :
could not create table: aborting mysqlWriteTable
Первый вызов этого кода работает нормально, но последующие вызовы терпят неудачу.
Любые идеи будут высоко оценены. Благодаря
Среда:
R version 3.0.2
Packages: DBI (I was using RMySQL but it is not available for 3.0.2)
MySQL v5.6.14
OS: Windows Server 7
Ответы
Ответ 1
Это решение было указано автором в вопросе и было перемещено здесь.
Похоже, что ошибка/функция возникает только при использовании полного пути к таблице, например, myDB.temp_table
по сравнению с просто temp_table
> dbWriteTable(conn=open_connection, name='myDB.temp_table', value=summary_data_final, overwrite=FALSE, append=TRUE, row.names=0)
Error in mysqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not run statement: Table 'temp_table' already exists)
[1] FALSE
Warning message:
In mysqlWriteTable(conn, name, value, ...) :
could not create table: aborting mysqlWriteTable
> dbWriteTable(conn=open_connection, name='temp_table', value=summary_data_final, overwrite=FALSE, append=TRUE, row.names=0)
[1] TRUE
Я не нашел этого документально нигде и удивлен, что раньше не сталкивался с ним.