如何在SQLite中跨表的列添加唯一约束

时间:2018-12-15 09:22:06

标签: sql database sqlite

说我有两列:一个表中的GroupName,另一表中的Username。如何约束这些列的值,以使添加到一个列的任何值在两个列中都是唯一的?最好以“非混乱”的方式。

1 个答案:

答案 0 :(得分:0)

您提到的结构没有简单的方法。当然,有 一种实现触发器的方法,但这很麻烦。

可替代的数据模型解决了该问题,

create table things (
    thingsId int auto_increment primary key,
    name text,
    type text,
    . . .
    check (type in ('group', 'user')),
    unique (name)
);

这会将每种类型的事物放到一列中,然后施加唯一约束。