gpt4 book ai didi

SQL 表不遵守其唯一约束

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

我使用以下命令在 sqlite3 中设置了一个 SQL 表:

CREATE TABLE "userstrings" (
'user_id' INTEGER NOT NULL,
'cat_id' INTEGER NOT NULL,
'name_id' INTEGER,
CONSTRAINT unq UNIQUE(user_id, cat_id, name_id)
)

我仍在连接用户界面,但我注意到表中有四行,user_id = 10、cat_id = 8 和 name_id = NULL。

NULL 是否以某种方式规避了独特的约束?最终,目标是只允许唯一的行,并允许 name_id 为空。

最佳答案

根据 ANSI 标准,UNIQUE 约束不应允许重复的非 NULL 值,但实际上允许多个 NULL 值。

SQL 标准要求强制执行 UNIQUE 约束,即使约束中的一个或多个列为 NULL,但 SQLite 不强制执行此规则。

关于SQL 表不遵守其唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522438/

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