Подтвердить что ты не робот

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
4b9b3361

Ответ 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

Я не нашел этого документально нигде и удивлен, что раньше не сталкивался с ним.