我可以在 SQLite 网站上找到语法“图表”,但没有示例,我的代码崩溃了。我有其他表在单列上具有唯一约束,但我想在两列上向表中添加约束。这就是我所拥有的导致 SQLiteException 消息“语法错误”的原因。
CREATE TABLE name (column defs) UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE
我这样做是基于以下几点:
表约束
需要明确的是,我提供的链接上的文档说CONTSTRAINT name应该在我的约束定义之前。
CONTSTRAINT name
不过,可能导致解决方案的事情是,我带括号的列定义之后的任何内容都是调试器所抱怨的。
如果我把
...last_column_name last_col_datatype) CONSTRAINT ...
错误 在“CONSTRAINT”附近:语法错误
...last_column_name last_col_datatype) UNIQUE ...
错误 接近“唯一”:语法错误
将 UNIQUE 声明放在列定义部分;工作示例:
CREATE TABLE a ( i INT, j INT, UNIQUE(i, j) ON CONFLICT REPLACE );