问题标签 [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.
doctrine - 在使用 Doctrine 插入之前检查实体是否已存在于数据库中
每当我插入数据库中已存在的实体时,我都会收到错误消息,因为其中一个字段 ( email
) 存在唯一约束。
所以我想检查它是否已经存在;如果没有,我插入它。
我的代码如下所示:
有没有更简单的方法来做到这一点?
oracle - 发生错误时如何在 PL/SQL 中找出行号、过程名称
我正在使用 D2k 6i 表单并从存储数据库(oracle9i)过程 ORA-00001:违反唯一约束(。)的表单上获取错误,但我无法追踪它来自哪个过程。有人可以帮我解决这个问题吗
sql-server - SQL Server:“最独特”的索引
在一个表中,我想确保在五列键上只存在唯一的值:
但我只希望在EventAction 为时在行之间应用唯一约束INSERT
:
可能的?
ruby-on-rails - 为什么在尝试处理阵列时出现活动记录错误?
我的用户模型中有以下关联:
我的 user_users 表中有以下唯一性约束:
在我的代码中,我正在检索用户的朋友 --> friends = user.friends。朋友是一个数组。
我有一个场景,我想将所有这些朋友的用户添加到朋友数组中。前任:
但是,我收到以下错误:
是什么赋予了?
java - 在 JPA 2.0 中捕获约束违规
考虑以下实体类,例如与 EclipseLink 2.0.2 一起使用 - 其中link
属性不是主键,但仍然是唯一的。
当我为属性插入具有重复值的记录时link
,EclipseLink 不会抛出 a EntityExistsException
,而是抛出 a DatabaseException
,并显示消息说明违反了唯一约束。
这似乎不是很有用,因为没有一种简单的、独立于数据库的方法来捕获这个异常。处理此问题的建议方法是什么?
我考虑过的几件事是:
- 检查错误代码
DatabaseException
- 我担心这个错误代码是数据库的本机错误代码; Profile
预先检查具有特定值的 a 的存在link
- 这显然会导致大量多余的查询。
mysql - JPA 中未创建唯一约束
我创建了以下实体 bean,并将两列指定为唯一的。现在我的问题是该表是在没有唯一约束的情况下创建的,并且日志中没有错误。有人有想法吗?
database - 超过 10 列的唯一约束
我有一个时间序列仿真模型,它有 10 多个输入变量。不同的模拟实例的数量将超过 100 万个,每个模拟实例每天都会生成一些输出行。
为了将模拟结果保存在关系数据库中,我设计了这样的表。
创建表 SimulationModel (
simul_id 整数主键,
input0 字符串/数字,
input1 字符串/数字,
...)
创建表 SimulationOutput (
dt 日期时间主键,
simul_id 整数主键,
输出0数字,
...)
为了使每个模型都独一无二,我正在考虑以下一些方法。
对 SimulationModel 表的所有输入列设置唯一约束
重新设计 SimulationModel 表,将输入列分组为 2~3 列,并对这些分组列设置唯一约束。(通过制作像“input0_input1_input2”这样的长字符串值)
忘记服务器端约束并在应用程序端完成工作。
您如何看待这些选项?
对 10 多列数百万行使用唯一索引没有问题吗?
有其他方法可以推荐吗?
(我可能会使用 postgresql)
java - 如何正确处理 EntityExistsException?
我有两个实体:Question 和 FavoritesCounter。首次将问题添加到收藏夹时,应创建 FavoritesCounter。
考虑两个用户同时尝试将问题添加到收藏夹的用例 - 这将导致EntityExistsException
调用entityManager.persist(counter)
第二个用户的时间。
但是下面的代码不起作用,因为当EntityExistsException
被抛出时,容器将事务标记为仅回滚并尝试返回getFavoritesCounter(question)
失败javax.resource.ResourceException: Transaction is not active
问题
收藏计数器
之后返回已创建实体的最佳方法是什么EntityExistsException
?
java - Java中的@UniqueConstraint注解
我有一个Java bean。现在,我想确保该字段应该是唯一的。
我正在使用以下代码:
但是我遇到了一些错误:
使用唯一约束的正确方法是什么?
注意:我正在使用播放框架。
.net - 带有 AutoIncrement 列的 DataTable.Rows.Add 上的 ConstraintException
我有一些带有 ID 列的 DataTables,在 MySQL 服务器端和 ADO.NET 模式端(从 XML 模式文件加载)都启用了 AutoIncrement。我不想在插入行时关心这些 ID,因为它们的唯一用途是拥有表的主键——没有外键引用。但是,当要添加新行时,DataTable 将已经包含行,即 ID 从 1 开始的行已经驻留在 DataTable 中。
ID 列的默认 AutoIncrementSeed 值为 -1,AutoIncrementStep 值为 1(仅保留 Visual Studio 提供的默认值)。如果我只想一次插入两个新行,一切似乎都很好,因为当使用 dataTable.NewRow() 创建时,它们会得到 ID -1 和 0。但如果我想添加第三行,它会得到 ID 1 由 NewRow() 分配。随后,当我想使用 dataTable.Rows.Add(...) 插入新行时会引发 ConstraintException,因为已经有 ID = 1 的行。
我想禁用 ADO.NET 架构的 AutoIncrement 东西不是解决方案,因为那样我仍然必须确保自己在使用 .Rows.Add() 添加行之前 ID 是唯一的
这个问题的简单/优雅的解决方案是什么?现在我无法想象这是一个非常罕见的任务。
谢谢!