SQLite Unique Key,包含两列组合
发布时间:2020-12-12 19:13:41 所属栏目:百科 来源:网络整理
导读:我正在努力确保当我运行以下查询时,只有第一个INSERT INTO才能工作..我知道我必须使插槽独一无二 插槽可以是0-5 INTEGER,但这并不意味着该表中只能接受6个表数据行. 对于匹配它的每个playerHash应该只允许6个表数据行作为插槽是UNIQUE(对于每个playerHash列,
我正在努力确保当我运行以下查询时,只有第一个INSERT INTO才能工作..我知道我必须使插槽独一无二
插槽可以是0-5 INTEGER,但这并不意味着该表中只能接受6个表数据行. 对于匹配它的每个playerHash应该只允许6个表数据行作为插槽是UNIQUE(对于每个playerHash列,不能有相同插槽列的副本). //Below Query Should Pass INSERT INTO Buying(itemId,amount,price,bought,slot,playerHash) VALUES (1,1,1); //Below Query Should Fail INSERT INTO Buying(itemId,1); //Below Query Should Pass INSERT INTO Buying(itemId,2); //Below Query Should Fail INSERT INTO Buying(itemId,2); //Below Query Should Pass INSERT INTO Buying(itemId,2); 问题当然是它们都通过并导致重复的条目 目前我使用这个表DDL CREATE TABLE Buying ( id INTEGER PRIMARY KEY AUTOINCREMENT,itemId INTEGER NOT NULL,amount INTEGER NOT NULL,price INTEGER NOT NULL,bought INTEGER NOT NULL,collected INTEGER NOT NULL DEFAULT ( 0 ),overpaid INTEGER NOT NULL DEFAULT ( 0 ),slot INTEGER NOT NULL,aborted BOOLEAN NOT NULL DEFAULT ( 0 ),playerHash INTEGER NOT NULL );添加到您的ddl create table ... ( ... ...,unique(slot,player)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |