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