2
我想使用R/dplyr來更改SQLite表的名稱。如何用dplyr重命名SQLite表?
從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
追溯的頂部顯示:
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?對於我的申請,我更喜歡前者。
預先感謝任何指針。