问题标签 [unique-constraint]

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 回答
11725 浏览

sql - 在两个 varchar 字段上创建 Unqiue 不区分大小写的约束

在 Oracle 10g 中,如何在两个 varchar 字段上添加唯一的不区分大小写的约束?例如,给定表中已有​​以下记录:

以下插入无效:

但以下插入将是有效的:

0 投票
1 回答
3738 浏览

java - JPA2 唯一约束:我真的需要刷新吗?

我有一个 DAO,我需要在其中捕获唯一约束异常。为此,唯一可行的解​​决方案是在持久化之后刷新我的 EntityManager。只有这样我才进入一个捕获块,我必须过滤掉异常。而且,我的 DAO 方法需要包装在事务 (REQUIRES_NEW) 中,否则我有 RollBackException。

难道我做错了什么?

0 投票
3 回答
152 浏览

sql - SQL 表规范化:关于限制记录参与多对多关系的简单问题

如果您有以下表格和关系:

  • 产品表
  • 价格点表(产品的一个或多个价格)
  • 版本表(同一区域销售的产品组)

以及在任何给定版本中只能存在一个产品价格的约束。您将如何构建表以反映约束?

为了说明限制,我有一个价格为 1 美元、2 美元和 3 美元的产品。我有 A、B、C、D、E、F、G、H、I 的媒体区(每个都代表像俄亥俄州哥伦布这样的地方)

产品 A 在 A、B、C 中存在时价格为 1 美元,在 A、B、C 中不能有其他价格(2 美元、3 美元)

将版本 M2M 表添加到 PricePoints,然后在 M2M 表上的所有字段减去 PricePoint 字段的唯一索引是否有效?(打字时想了想)有没有更好的方法来表示关系?

0 投票
1 回答
2126 浏览

entity-framework - 实体数据模型,唯一索引

在我的实体数据模型中,我有一个实体,其中一个属性作为主键,另一个属性也将具有唯一值,因此我想在该其他属性上创建一个唯一索引。这种情况与具有 PersonID 和 PersonSSN 字段的 Person 实体非常相似。

有没有办法在设计器或 edmx 文件中指定从模型生成数据库时应在属性上创建此类索引?

0 投票
3 回答
2051 浏览

sql - 由位列控制的 UNIQUE 约束

我有一张桌子,类似

对 (FieldID,FormID) 应该是唯一的,但仅当未删除行时 (isDeleted=0)。

是否可以在 SQLServer 2008 中定义这样的约束?(不使用触发器)

PS设置(FieldID,FormID,isDeleted)是唯一的增加了将一行标记为已删除的可能性,但我希望有机会将n行(每个FieldID,FormID)设置为isDeleted = 1,并且只有一个isDeleted = 0

0 投票
4 回答
2245 浏览

sql - PostgreSQL 8.3 中具有非空和唯一约束的增量字段

我有一个表“项目”,其中有一列“位置”。position 具有唯一且非空的约束。为了在位置 x 插入新行,我首先尝试增加后续项目的位置:

这会导致违反唯一约束:

问题似乎是 PostgreSQL 执行更新的顺序。PostgreSQL < 9.0 中的唯一约束不可延迟,不幸的是,目前不能选择使用 9.0。此外,UPDATE 语句不支持 ORDER BY 子句,以下也不起作用(仍然重复键违规):

有人知道不涉及迭代代码中所有项目的解决方案吗?

0 投票
1 回答
1774 浏览

sql - 如何使用 LINQ to SQL 强制执行唯一约束

我想使用 LINQ to SQL 对两列强制执行唯一约束。我在 SQL 表上配置了一个约束,但是有没有办法将它与 LINQ to SQL 一起使用?

唯一约束应用于两列,两列都是外键。

谢谢

编辑:我可以捕获异常,那就是如果抛出一个非常具体的异常。另一种方法是在运行任何更新/插入之前检查表的状态。对于一个非常简单的任务来说,一切似乎都是太多的工作。

0 投票
1 回答
3318 浏览

.net - 使用实体框架时处理唯一约束的最佳方法

我正在使用 Entity Framework 4.0 访问具有唯一列约束的表中的数据。如果违反了约束,当我调用 SaveChanges() 时会发生异常,正如预期的那样。我的问题是我是否应该首先允许抛出异常。我也可以进行选择以避免插入重复的数据(我假设事务是必要的)。

在这种情况下,普遍接受的最佳实践是什么?

0 投票
5 回答
40194 浏览

sql-server - 添加一个 sql 表的唯一约束作为对另一个 sql 表的外键引用

如何在 sql server 2005 中添加 sql 表的唯一约束作为对另一个 sql 表的外键引用

0 投票
2 回答
578 浏览

sql - 递归“ON DUPLICATE KEY UPDATE”

我在日期列上有一个带有唯一键的数据库表,因此每个日期永远不会超过一行。如果我为数据库中已经存在的一天插入一个新行,我希望它将所有后续的连续日期推回一天,直到它到达“空闲”日。

这是我的想法:

我的想法是 ON DUPLICATE KEY UPDATE 会使表格冒泡并不断在每个日期添加一天,直到它达到不存在的一天。

例如,如果我的表格内容如下所示:

…我在 2009-07-31 插入“日期 7”,我希望它这样做:

但是重复键更新不是这样工作的,它只会更新冲突的行,如果该行随后与不同的行发生冲突,它会因重复键错误而退出。

有没有一种聪明的方法可以单独在 SQL 中实现这种效果?