关于sqlite的问题.
在CREATE TABLE sql中,我们可以以任一方式添加UNIQUE约束:column-constraint或table-constraint.我的问题很简单.他们的工作方式不同吗
我能找到的唯一区别是,在表约束中,单个约束中可能有多个索引列.
列约束:
表约束:
这是一个例子:
CREATE TABLE Example ( _id INTEGER PRIMARY KEY,name TEXT UNIQUE ON CONFLICT REPLACE,score INTEGER )
和
CREATE TABLE Example ( _id INTEGER PRIMARY KEY,name TEXT,score INTEGER,UNIQUE (name) ON CONFLICT REPLACE )
他们不一样吗?
解决方法
在这种情况下,没有区别.
但是,您可以在表上创建一个唯一约束,该约束将跨越两个不同的列.像这样:
CREATE TABLE Example ( _id INTEGER PRIMARY KEY,index INTEGER,UNIQUE (name,index) ON CONFLICT REPLACE )
有关详细信息,请参阅此帖子:
SQLite table constraint – unique on multiple columns