微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLite表约束 – 在多个列上唯一

我可以在sqlite网站上找到语法“图表”,但没有示例和我的代码崩溃。我有其他表有一个列的唯一约束,但我想添加一个约束到两个列的表。这是我有,导致sqliteException与消息“语法错误”。
CREATE TABLE name (column defs) 
UNIQUE (col_name1,col_name2) ON CONFLICT REPLACE

我这样做基于以下:

table-constraint

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

可能导致解决方案的东西是,无论跟在我的括号列定义是调试器所抱怨的。

如果我放

...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);

原文地址:https://www.jb51.cc/sqlite/198434.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐