SQLite表约束 – 在多列上唯一

我可以在SQLite网站上find这个语法“图表”,但没有例子和我的代码崩溃。 我有其他表在单个列上具有唯一约束,但我想要添加一个约束到两列的表。 这就是我所引起的SQLiteException消息“语法错误”。

CREATE TABLE name (column defs) UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE 

我正在做这个基于以下几点:

表约束

要清楚,我提供的链接上的文档说, CONTSTRAINT name应该在我的约束定义之前。

可能导致解决scheme的东西是,无论跟在括号内的列定义是debugging器抱怨什么。

如果我放

 ...last_column_name last_col_datatype) CONSTRAINT ... 

错误接近“CONSTRAINT”:语法错误

如果我放

 ...last_column_name last_col_datatype) UNIQUE ... 

错误接近“UNIQUE”:语法错误

将UNIQUE声明放在列定义部分中:

 CREATE TABLE name (column defs, UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE); 

工作示例:

 CREATE TABLE a (i INT, j INT, UNIQUE(i, j) ON CONFLICT REPLACE); 

那么,你的语法不符合你所包含的链接,它指定:

  CREATE TABLE name (column defs) CONSTRAINT constraint_name -- This is new UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE