sqlite3在多个条件上是唯一的

时间:2017-11-25 01:31:19

标签: sqlite

我正在尝试在sqlite3中创建一个表来存储用户字段选择,并使user_id,table和name_id的每个组合都是唯一的。但运行以下操作会让我“错误:近”表“:语法错误”

CREATE TABLE preftest (
'id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
'user_id' INTEGER NOT NULL, 
'table' TEXT NOT NULL, 
'name_id' INTEGER NOT NULL, 
CONSTRAINT userpref UNIQUE(user_id, table, name_id))

在唯一约束中组合text和integer列是否存在问题?

1 个答案:

答案 0 :(得分:2)

tableSQLite keyword

您需要在约束中使用'table'而不是table

CREATE TABLE preftest (
'id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
'user_id' INTEGER NOT NULL, 
'table' TEXT NOT NULL, 
'name_id' INTEGER NOT NULL, 
CONSTRAINT userpref UNIQUE(user_id, 'table', name_id))