Я хочу изменить имя таблицы SQLite с помощью R/dplyr.Как переименовать таблицу SQLite с dplyr?
С documentation, похоже (на первый взгляд) должно быть просто:
db <- src_sqlite("db/path.sqlite", create = TRUE)
mtcars %>% add_rownames() %>% rename(car = rowname) -> mtcars2
copy_to(db, mtcars2, indexes = list("car"))
q <- "ALTER TABLE mtcars2 RENAME TO mtcars3"
tbl(db, sql(q))
Однако это дает ошибку. Я подумал, что, возможно, это недостающая полуколока, но я получаю ту же ошибку в любом случае.
Error in sqliteSendQuery(conn, statement) (from #4) :
error in statement: near "ALTER": syntax error
В верхней части TRACEBACK показывает:
21: .Call(rsqlite_query_send, [email protected], as.character(statement), bind.data)
20: sqliteSendQuery(conn, statement)
19: .local(conn, statement, ...)
18: DBI::dbSendQuery(con, build_sql("SELECT * FROM ", sql))
17: DBI::dbSendQuery(con, build_sql("SELECT * FROM ", sql))
Есть ли способ изменить имя таблицы, опираясь на связи, порожденной src_sqlite, или я должен закрыть соединение и открыть другое соединение напрямую используя RSQLite/DBI? Для моего приложения я бы предпочел первый.
Заранее благодарим за любые указатели.