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?对于我的申请,我更喜欢前者。
预先感谢任何指针。