问题标签 [unique-index]
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.
mysql - 如何在一对列上设置索引,以便将值绑定在一起?
我有一个包含 id、external_id 和 country_code 列的表。我有两个希望数据库强加的规则:
- 每个外部 ID 在每个国家/地区代码中只能出现一次
- 每个 ID 最多只能与一个非空 External ID 一起出现,反之亦然。
第一条规则很简单——我在 external_id 和 country_code 中添加了一个唯一的多列索引。我如何让它强加第二个?
php - MongoDB:确保索引不适用于单键和复合键
从几个小时开始,我试图在我的本地设置的 MongoDB 集合中添加批量数据,除了一个或多个键的唯一索引之外,所有的都设置好了:(
我用过这个:
然后这个(因为我猜出于某种原因,多键索引不起作用)
使用上述行后,我尝试从 php 脚本中插入数百万行(通过 insert 和 batchInsert),并且每次都存在重复的用户 ID :'( 请在这方面指导我 :(
c# - MVC 2 唯一索引验证
有没有办法验证模型上应该是唯一的属性?例如,用户可以创建和编辑“产品”,但他们不应该能够创建具有现有 ProductCode 的产品,也不应该能够编辑产品并将 ProductCode 更改为已经存在的代码。
我尝试过使用自定义属性。
当代码已存在于数据库中时,我可以使用此解决方案涵盖的所有内容都不允许用户插入/更新产品。这不允许用户编辑现有产品,因为当他们提交时,它会看到代码已经存在(这将是他们尝试编辑的产品的代码。)并返回 false。
有没有办法处理 MVC 2 中的唯一索引,我已经搜索了几个小时,甚至在 stackoverflow 上找到了其他主题,但没有一个可靠的解决方案。
postgresql - 我应该同时指定 INDEX 和 UNIQUE INDEX 吗?
在我的一个 PostgreSQL 表上,我有一组两个字段,它们将被定义为在表中是唯一的,但在选择数据时也会一起使用。鉴于此,我只需要定义一个 UNIQUE INDEX,还是应该在 UNIQUE INDEX 之外指定一个 INDEX?
这?
或这个?
mysql - MySQL 多个字段的唯一索引
我们的数据库中有一种特殊的表,它本身存储其更改的历史。所谓的“自存档”表:
它存储我们订户的“覆盖范围”。字段“当前”指示这是当前/原始记录(“C”)还是历史记录(“H”)。
对于给定的订阅者,我们只能有一个当前的“C”覆盖,但我们不能创建一个包含 2 个字段(*subscriber_id 和 current*)的唯一索引,因为对于任何给定的“C”记录,可能有任意数量的“H " 记录 - 变更历史。
所以索引应该只对当前 == 'C'和任何subscriber_id 是唯一的。
这可以在 Oracle DB 中使用“物化视图”之类的东西来完成:我们可以创建一个物化视图,它只包含current = 'C' 的记录,并使用以下两个字段创建一个唯一索引:*subscriber_id, current*。
问题是:如何在 MySQL 中做到这一点?
asp.net - 如何在不使用数据库主键的情况下为用户提供唯一 ID?
如果我有 10,000 个用户并且主键是从 1 到 10,000 的唯一 ID,有没有办法给他们所有人一个唯一 ID,这样就无法从中推断出原始主键?
例如,链接到您的 facebook 个人资料或类似内容将是http://site.com/profile?id=293852
那里的 id 是否可能与其用户在数据库中的主键相同?我正在努力想办法让两个不相关的唯一 ID 列,因为随机生成的必须是唯一的。我想如果有可能只有使用数字的 GUID 长度会太长。
和想法?
database - 为什么我有针对唯一索引的非唯一条目?(PostgreSQL 9.0)
我的 postgresql 9.0 db 中有一个基于函数的唯一索引。我还没有通过我尝试的任何手动测试使其失败,但是当我查询它时,我在数据库中看到了一些重复项。
看一下这个:
任何想法这是如何发生的?我知道 NULL 不是唯一的,这不是问题,而是其他 38 行。
mysql - MyISAM 唯一键在 64 字节处被截断,导致冲突
我有一个 MySQL 表,将 url 存储为唯一键。我开始在我的键上遇到冲突,因为键本身似乎只是任何 url 的前 64 个字节(或者如果您愿意,它是一个 latin-1 排序的字符)。因此,如果一个 url 超过 64 个字符并且我已经有一个类似的 url,它会抛出一个错误。
例如:
引发此错误:
MyISAM 不应该有 1000 字节的密钥长度吗?
编辑: CREATE TABLE STATUS 调用中似乎没有列出前缀长度,它看起来像这样:
我尝试将一个设置为 256,如下所示:
我收到以下错误:
我认为回退只是因为我通过 MySQL Workbench 运行了 ALTER TABLE。
sql-server - 在 URL 列上创建主键或唯一索引
是否可以在用于保存 URL 的 NVARCHAR(4000) 列上创建主键或唯一索引?SQL 2008 中的唯一索引似乎有 900 字节的限制。
sql-server - 非规范化多对多映射
在 SQL Server 2008 R2 中,我有一个具有以下结构的表
用于将来自系统(“左”)的左 1 和左 2 映射到右 1-6,再到另一个系统(“右”)。
我需要确保左列是唯一的,我已经使用唯一索引完成了,并且左右组合也是唯一的。
我不能在这里使用索引,因为支持的最大列大小是 900 字节。我需要避免在 Left、Right 和 Left2Right 中拆分表格——因为我的用例太乏味且容易出错。
执行组合唯一性的正确方法是什么?
我的要求是:
- 在整个表中,Left1 和 Left2 必须没有具有相同值的行(已解决)
- 在整个表中,Left1、Left2、Right1、Right2、Right3、Right4、Right5、Right6 必须没有具有相同值的行(我需要帮助)