gpt4 book ai didi

sqlite - 我是否正确定义了所有 key ?我需要添加索引吗?

转载 作者:行者123 更新时间:2023-12-03 19:35:03 25 4
gpt4 key购买 nike

我有几个表:帐户和员工,我正在尝试为帐户和员工之间的任何给定组合存储评级和时间戳。对于给定的 Account + Employee 组合,同一时间戳不应存在两个评级。

这是我到目前为止所拥有的:

CREATE TABLE main_table (
_ID INTEGER PRIMARY KEY AUTOINCREMENT,
account_id INTEGER NOT NULL,
employee_id INTEGER NOT NULL,
rating REAL NOT NULL,
timestamp LONG NOT NULL,
FOREIGN KEY(account_id) REFERENCES ACCOUNTS(_ID),
FOREIGN KEY(employee_id) REFERENCES EMPLOYEES(_ID),
UNIQUE (account_id, employee_id, timestamp));

这是定义我要做什么的正确方法吗?我还需要创建一个单独的索引吗?
CREATE INDEX main_table_idx ON main_table (account_id, employee_id, timestamp);

最佳答案

唯一约束是使用唯一索引实现的。

因此,不需要单独创建索引。

documentation 中所述:

In most cases, UNIQUE and PRIMARY KEY constraints are implemented by creating a unique index in the database. (The exceptions are INTEGER PRIMARY KEY and PRIMARY KEYs on WITHOUT ROWID tables.)



根据您的描述,唯一约束似乎是正确的。

关于sqlite - 我是否正确定义了所有 key ?我需要添加索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37127930/

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