Nae*_*mul 4 database sqlite android-sqlite
关于SQLite的问题.
在CREATE TABLE SQL中,我们可以以任一方式添加UNIQUE约束:column-constraint或table-constraint.我的问题很简单.他们的工作方式不同吗
我能找到的唯一区别是,在表约束中,indexed-column单个约束中可能有多个s.
列约束:

表约束:

这是一个例子:
CREATE TABLE Example (
_id INTEGER PRIMARY KEY,
name TEXT UNIQUE ON CONFLICT REPLACE,
score INTEGER
)
Run Code Online (Sandbox Code Playgroud)
和
CREATE TABLE Example (
_id INTEGER PRIMARY KEY,
name TEXT,
score INTEGER,
UNIQUE (name) ON CONFLICT REPLACE
)
Run Code Online (Sandbox Code Playgroud)
他们不一样吗?
在这种情况下,没有区别.
但是,您可以在表上创建一个唯一约束,该约束将跨越两个不同的列.像这样:
CREATE TABLE Example (
_id INTEGER PRIMARY KEY,
name TEXT,
index INTEGER,
score INTEGER,
UNIQUE (name, index) ON CONFLICT REPLACE
)
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅此帖子: SQLite表约束 - 在多列上唯一