如果将 SQLite 列声明为 PRIMARY KEY + UNIQUE 会发生什么?

Rei*_*ica 5 sqlite

SQLite 的文档说:

UNIQUE 约束类似于 PRIMARY KEY 约束,不同之处在于单个表可以具有任意数量的 UNIQUE 约束。

我想知道的是,如果我声明如下:

CREATE TABLE Example (
  id INTEGER PRIMARY KEY UNIQUE);
Run Code Online (Sandbox Code Playgroud)

SQLite 会创建两个索引还是一个索引?如果我不使用 rowid (即如果列是id TEXT PRIMARY KEY UNIQUE),行为是否有所不同?

我意识到最简单的方法就是删除,UNIQUE但我很好奇这会产生什么影响。

Ahm*_*aff 3

当您定义主键时,它将是唯一的,无需为唯一列定义另一个索引。

  • 这并不能回答问题。 (5认同)