问题标签 [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.

0 投票
2 回答
215 浏览

mysql - 如何在一对列上设置索引,以便将值绑定在一起?

我有一个包含 id、external_id 和 country_code 列的表。我有两个希望数据库强加的规则:

  • 每个外部 ID 在每个国家/地区代码中只能出现一次
  • 每个 ID 最多只能与一个非空 External ID 一起出现,反之亦然。

第一条规则很简单——我在 external_id 和 country_code 中添加了一个唯一的多列索引。我如何让它强加第二个?

0 投票
2 回答
1466 浏览

php - MongoDB:确保索引不适用于单键和复合键

从几个小时开始,我试图在我的本地设置的 MongoDB 集合中添加批量数据,除了一个或多个键的唯一索引之外,所有的都设置好了:(

我用过这个:

然后这个(因为我猜出于某种原因,多键索引不起作用)

使用上述行后,我尝试从 php 脚本中插入数百万行(通过 insert 和 batchInsert),并且每次都存在重复的用户 ID :'( 请在这方面指导我 :(

0 投票
3 回答
1013 浏览

c# - MVC 2 唯一索引验证

有没有办法验证模型上应该是唯一的属性?例如,用户可以创建和编辑“产品”,但他们不应该能够创建具有现有 ProductCode 的产品,也不应该能够编辑产品并将 ProductCode 更改为已经存在的代码。

我尝试过使用自定义属性。

当代码已存在于数据库中时,我可以使用此解决方案涵盖的所有内容都不允许用户插入/更新产品。这不允许用户编辑现有产品,因为当他们提交时,它会看到代码已经存在(这将是他们尝试编辑的产品的代码。)并返回 false。

有没有办法处理 MVC 2 中的唯一索引,我已经搜索了几个小时,甚至在 stackoverflow 上找到了其他主题,但没有一个可靠的解决方案。

0 投票
1 回答
9794 浏览

postgresql - 我应该同时指定 INDEX 和 UNIQUE INDEX 吗?

在我的一个 PostgreSQL 表上,我有一组两个字段,它们将被定义为在表中是唯一的,但在选择数据时也会一起使用。鉴于此,我只需要定义一个 UNIQUE INDEX,还是应该在 UNIQUE INDEX 之外指定一个 INDEX?

这?

或这个?

0 投票
1 回答
2573 浏览

mysql - MySQL 多个字段的唯一索引

我们的数据库中有一种特殊的表,它本身存储其更改的历史。所谓的“自存档”表:

它存储我们订户的“覆盖范围”。字段“当前”指示这是当前/原始记录(“C”)还是历史记录(“H”)。

对于给定的订阅者,我们只能有一个当前的“C”覆盖,但我们不能创建一个包含 2 个字段(*subscriber_id 和 current*)的唯一索引,因为对于任何给定的“C”记录,可能有任意数量的“H " 记录 - 变更历史。

所以索引应该只对当前 == 'C'和任何subscriber_id 是唯一的。

这可以在 Oracle DB 中使用“物化视图”之类的东西来完成:我们可以创建一个物化视图,它只包含current = 'C' 的记录,并使用以下两个字段创建一个唯一索引:*subscriber_id, current*。

问题是:如何在 MySQL 中做到这一点?

0 投票
5 回答
1855 浏览

asp.net - 如何在不使用数据库主键的情况下为用户提供唯一 ID?

如果我有 10,000 个用户并且主键是从 1 到 10,000 的唯一 ID,有没有办法给他们所有人一个唯一 ID,这样就无法从中推断出原始主键?

例如,链接到您的 facebook 个人资料或类似内容将是http://site.com/profile?id=293852

那里的 id 是否可能与其用户在数据库中的主键相同?我正在努力想办法让两个不相关的唯一 ID 列,因为随机生成的必须是唯一的。我想如果有可能只有使用数字的 GUID 长度会太长。

和想法?

0 投票
3 回答
219 浏览

database - 为什么我有针对唯一索引的非唯一条目?(PostgreSQL 9.0)

我的 postgresql 9.0 db 中有一个基于函数的唯一索引。我还没有通过我尝试的任何手动测试使其失败,但是当我查询它时,我在数据库中看到了一些重复项。

看一下这个:

任何想法这是如何发生的?我知道 NULL 不是唯一的,这不是问题,而是其他 38 行。

0 投票
2 回答
2824 浏览

mysql - MyISAM 唯一键在 64 字节处被截断,导致冲突

我有一个 MySQL 表,将 url 存储为唯一键。我开始在我的键上遇到冲突,因为键本身似乎只是任何 url 的前 64 个字节(或者如果您愿意,它是一个 latin-1 排序的字符)。因此,如果一个 url 超过 64 个字符并且我已经有一个类似的 url,它会抛出一个错误。

例如:

引发此错误:

MyISAM 不应该有 1000 字节的密钥长度吗?

编辑: CREATE TABLE STATUS 调用中似乎没有列出前缀长度,它看起来像这样:

我尝试将一个设置为 256,如下所示:

我收到以下错误:

我认为回退只是因为我通过 MySQL Workbench 运行了 ALTER TABLE。

0 投票
1 回答
983 浏览

sql-server - 在 URL 列上创建主键或唯一索引

是否可以在用于保存 URL 的 NVARCHAR(4000) 列上创建主键或唯一索引?SQL 2008 中的唯一索引似乎有 900 字节的限制。

0 投票
2 回答
273 浏览

sql-server - 非规范化多对多映射

在 SQL Server 2008 R2 中,我有一个具有以下结构的表

用于将来自系统(“左”)的左 1 和左 2 映射到右 1-6,再到另一个系统(“右”)。

我需要确保左列是唯一的,我已经使用唯一索引完成了,并且左右组合也是唯一的。

我不能在这里使用索引,因为支持的最大列大小是 900 字节。我需要避免在 Left、Right 和 Left2Right 中拆分表格——因为我的用例太乏味且容易出错。

执行组合唯一性的正确方法是什么?


我的要求是:

  • 在整个表中,Left1 和 Left2 必须没有具有相同值的行(已解决)
  • 在整个表中,Left1、Left2、Right1、Right2、Right3、Right4、Right5、Right6 必须没有具有相同值的行(我需要帮助)