gpt4 book ai didi

SQLite:防止重复行

转载 作者:IT王子 更新时间:2023-10-29 06:19:30 27 4
gpt4 key购买 nike

CREATE TABLE Permission ( 
permissionID INTEGER PRIMARY KEY UNIQUE,
user INTEGER
location INTEGER
);

我不想让用户或位置成为UNIQUE,因为我可以让多行用户包含相同的数据,或者让多行的位置包含相同的数据。我只是想避免让用户和位置都具有某些值,并且该行重复任意次数。

例如:没关系

permissionID user location
--------------------------
1 1 2
2 2 2
3 2 1

但这不行:

permissionID user location
--------------------------
1 1 2
2 1 2

因为已经存在 user = 1 和 location = 2 的行。

如何避免重复?

最佳答案

声明对(用户,位置)的唯一约束。

CREATE TABLE Permission (
permissionID integer primary key,
user integer not null,
location integer not null,
unique (user, location)
);
sqlite> insert into Permission (user, location) values (1, 2);sqlite> insert into Permission (user, location) values (1, 2);Error: UNIQUE constraint failed: Permission.user, Permission.location

关于SQLite:防止重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com