问题标签 [unique-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3695 浏览

sql-server-2005 - SQL Server 2005 具有空值的唯一键

我在 SQL Server 2005 中有一个带有外键的表,我希望该外键是唯一值或空值。我已将其设置为唯一键,但它不允许我在同一个表中有多个空值。有可能做我想做的事吗?

0 投票
1 回答
61509 浏览

django - django中的主键和唯一键

我有一个自定义主键,需要在模型中的特定数据上设置。

这还不够,因为插入重复号码的尝试成功了。所以现在当我替换它时primary_key=Trueunique=True它可以正常工作并拒绝重复的数字!!。但是根据这个文件它使用字段)。

primary_key=True暗示null=Falseunique=True.

这让我感到困惑,为什么它首先接受具有内置的价值unique=True

谢谢你。

更新声明:

0 投票
2 回答
471 浏览

mysql - MySQL 键约束

我有一个 MySQL 表,其中包含两个字段:a (int) 和 b (string) 使用 InnoDB 引擎。

我想对其进行结构化,以便特定的 b 值可以在表中出现任意次数,但每次出现时它必须始终以相同的 a 值出现,即假设我的表如下所示:

我应该能够成功地将 (1,'foo'), (2,'bar') 甚至 (2,'qux') 插入到表中,但是插入 (2,'foo'), (1,' bar') 或 (1,'baz') 应该失败,因为无论何时出现 b 的这些字符串值,它们都应该始终以相同的 a 值出现。

任何想法如何有效地做到这一点?我一直在玩交易,SELECT ... FOR UPDATE但没有运气。我有错误的表结构吗?

0 投票
1 回答
1316 浏览

sql-server-2005 - 唯一约束,不包括 NULL 值

可能重复:
在 SQL Server 中实现允许多个 NULL 值的唯一约束的正确方法

我的表中有一个列,其中所有值必须是唯一的或 NULL。

我尝试为该列向表中添加唯一键,但这似乎意味着我只能有 1 个 NULL 值?

如何设置约束以使所有值都是唯一的,除非它们为 NULL?

0 投票
1 回答
278 浏览

php - 任何顺序的唯一键

我正在为一张表使用 MYSQL 的 UNIQUE KEY。但是,我有一个包含“user1,user2”的表。我创建了一个 UNIQUE KEY 但问题是我希望 UNIQUE KEY 能够执行“user1==user1 && user2==user2”还是“user1==user2 && user2==user1”

或者

如何在 mySQL 中实现该唯一键?

谢谢!

0 投票
1 回答
1244 浏览

fluent-nhibernate - Fluent NHibernate 3 uniquekey 自定义约束名称

我正在尝试提供一个自定义的唯一约束名称,如下所示:

该字段使用唯一约束进行映射,但约束名称是自我管理的,并且不采用我选择的名称(“MY_CONSTRAINT_NAME”)这是一个 BUG 还是我使用不正确?

0 投票
3 回答
719 浏览

php - 对象到字符串,PHP 中的唯一键

我正在阅读有关观察者模式的信息,并找到了一篇过时的文章。通读后,我注意到本段中有一个有趣的提及:

此处查看的关键方法是 attach()、detach() 和 notify()。attach() 和 detach() 处理添加和删除观察者。我们在这里使用一个小技巧。字符串上下文中引用的对象解析为唯一标识符(即使定义了 __toString() )。您可以使用此事实为关联数组构建键。notify() 方法循环遍历所有附加的观察者,对每个观察者调用 update()。在这种情况下,只要有重要的上传和错误报告,UploadManager 类就会调用 notify()。

其中引用了这个例子:

现在如前所述,这篇文章已经过时了。将对象转换为字符串当然不再以这种方式工作(我在我的开发盒上运行 5.3.6,并将其推送给所有客户端项目)但我想实现类似的功能。我只能想到(类似)这个:

我很好奇,还有其他有效的方法可以实现这一目标吗?从对象本身创建唯一键。

警告:我不想进入定义的键,我经常将它们与其他存储库一起使用,例如实现__set($key, $value)等。

注意:我知道 MD5 并不理想。


更新:刚刚找到spl_object_hash,我认为这可能是我的最佳选择,但请随时分享您的想法。

0 投票
1 回答
523 浏览

entity-framework - 更新实体框架中的唯一键

我有一个视图,其中一个字段是电子邮件(英国唯一密钥)。

当某些用户登录我的网络系统并更新电子邮件时。发生一个问题,他无法更改他的电子邮件。

之后出现消息:“属性是对象的关键信息的一部分,不能修改”

0 投票
1 回答
502 浏览

postgresql - PostgreSQL - 重复的唯一键

在我的桌子上,我有一个标记为 md5 的辅助唯一键。插入之前,我先检查一下MD5是否存在,如果没有,就插入,如下图:

这对于单线程插入非常有用,我的问题是当我有两个外部应用程序同时调用我的函数时恰好具有相同的 MD5。我最终遇到的情况是:

应用程序 1:看到 MD5 不存在

应用 2:将此 MD5 插入表中

应用程序 1:现在将 MD5 插入到表中,因为它认为它不存在,但由于在它看到它不存在后立即出现错误,应用程序 2 插入了它。

有没有更有效的方法来做到这一点?

我可以在插入时捕捉到错误吗?如果可以,然后选择 domain_id?

提前致谢!


这似乎也包含在插入中,在 PostgreSQL 中重复更新?

0 投票
2 回答
136 浏览

mysql - 获取 MySQL 唯一键组合

如果我创建了一个类似于以下内容的表:

我现在如何要求数据库给我两个“唯一键”元组?
SHOW INDEX似乎没有这样做。)