r - 在 R 中使用主键创建 SQLite 表

标签 r rsqlite

我正在尝试为 SQLite 数据库创建一个带有主键的表。有没有办法用 DBI 做到这一点?我查看了文档,但看不到任何示例。我正在尝试类似下面的示例。

library(DBI)
library(RSQLite)

conn <- dbConnect(RSQLite::SQLite(), "")
DBI::dbCreateTable(conn, "mytable", c(a = "integer", b = "text"), 'PRIMARY KEY("a")')
dbDisconnect(conn)

最佳答案

您可以使用 dbExecute 并直接发送一个 SQL 命令:

library(DBI)
library(RSQLite)
conn <- dbConnect(SQLite())
dbExecute(conn, "
CREATE TABLE mytable
(
  a INTEGER PRIMARY KEY, 
  b TEXT
)")

# Write one row
dbExecute(conn,"insert into mytable values(1,'test')")
# Try to violate primary key
dbExecute(conn,"insert into mytable values(1,'test')")

[1] 0
[1] 1
Error: UNIQUE constraint failed: mytable.a

关于r - 在 R 中使用主键创建 SQLite 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65818056/

相关文章:

r - mockery::mock 和 mockery::stub 不能与准引用一起正常工作?

python - 有没有办法在 Python 中模仿 R 中的管道运算符?

r - 使用带有引号的值的 RSQLite 加载数据

r - 使用 RSQLite 和 bind.data 批量更新 R 中的 SQLite 列

r - 使 SQLite 的 generate_sequence 在 MS Windows 下的 R 的 sqldf 库中使用

r - 保存 "summary(lm)"的结果以在 Power Bi 中使用

r - 如何更改R中的默认时区?

android - 用现成的数据创建数据库

r - 使用RSQLite时的R多行语句

r - 映射列并使用 map_dbl 提取第一个数字