问题标签 [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.
mysql - 我如何让 ruby on rails 处理来自 MySQL 的重复记录错误
我的数据库中的多个字段都有一个唯一索引。因此,如果您尝试对重复记录调用 save,它会引发 ActiveRecord::StatementInvalid 并显示 mysql 错误。有没有办法在 Rails 中通过创建唯一约束来处理这个问题,或者在发生这种情况时让它返回相关的错误消息?
继承人的踪迹:
mysql - 如何在 Ruby on Rails 3 中对 MySQL 表的列定义“唯一”约束?
我有一个带有一列的简单 MySQL 表:name
.
我想在此列上定义一个唯一约束。
我可以:
但它只适用于应用程序级别,而不适用于数据库级别。
你有什么建议?
entity-framework - 实体框架代码中的唯一约束
问题
是否可以使用流畅的语法或属性定义属性的唯一约束?如果不是,有什么解决方法?
我有一个带有主键的用户类,但我想确保电子邮件地址也是唯一的。如果不直接编辑数据库,这可能吗?
解决方案(基于马特的回答)
c# - ADO.NET 数据集 - 对来自不同表的列具有唯一约束
我正在 Visual Studio 2008 中的 .NET 3.5 中用 C# 编写程序。我有一个包含两个 DataTables A 和 B 的 DataSet。表 A 中是 DataColumn Y,表 B 中是 Z 列,以及两个表中的更多列。Y 列和 Z 列都设置为唯一的、自动递增的列。
我希望 Y 和 Z 在他们两个之间也是独一无二的。如,如果表 A 已经有一行在 Y 列中有一个 3,并且我在表 B 中创建一个新行并且它想在该新行的 Z 列中放置一个 3,它将改为跳过 3并放入4。
我尝试了一些看起来应该可以工作的东西:
但是,如果我运行应用程序并获取该代码,我会在第一行收到以下错误:
System.Data.InvalidConstraintException 未处理
Message="无法从属于不同表的列创建键。"
源="系统.数据"
我在两个表中添加相同的 UniqueConstraint 的原因是,我不太确定在哪里放置它以使其处于活动状态。我宁愿不将这些表合并为一个,因为除了 Y 列和 Z 列之外,它们彼此几乎没有关系。
有谁知道这样做的任何方法?MSDN 文档没有提到多个表,而且看起来没有其他人尝试过这个。
我已经解决了这个问题。在我的程序中,我已经使用了一些外键检查来跟踪我正在处理的表。我原以为从现在开始换一种方式可能会更容易,但我决定保留我目前的技术(在需要的地方稍微扩展一下,例如在我的程序的其他组件中放置更详细的身份信息),它是结果工作得很好。
我最终所做的并不能真正解决我在这里发布的问题。我向希望在这里得到答案的 Google 员工道歉。
python - Django Unique Together(带外键)
我有一种情况,我想使用 Meta 选项unique_together
来强制执行某个规则,这是中间模型:
这是用户配置文件:
谢谢。
hibernate - 异常:无法将数据库状态与会话同步
我有一个在 spring 和 hibernate 3.0 上开发并部署在 apache tomcat 6 上的 Web 应用程序。当我尝试将数据插入到表之一('CAR_ATTRIBUTE'表)时,我遇到了错误。
此错误只能在生产环境中重现。相同的代码在我的本地环境中工作,指向相同的数据库。我尝试添加记录器语句,发现序列生成器每次都生成相同的值,即“0”。等待您的帮助。
-- 太阳2
谢谢您的回复。是的,异常清楚地表明它违反了约束。CARS.XAK1CAR_ATTRIBUTE 是组合键,它应该是唯一的。我已经验证了所有数据(通过记录器)并且找不到可能违反此约束的数据。此外,如果它违反了这个约束,那么它不应该在我指向同一个数据库的本地环境中工作。这可以特定于服务器吗?如果可以帮助解决问题,我可以提供更多详细信息,例如表 DDL 和我要插入的数据。——桑托什
postgresql - 我应该同时指定 INDEX 和 UNIQUE INDEX 吗?
在我的一个 PostgreSQL 表上,我有一组两个字段,它们将被定义为在表中是唯一的,但在选择数据时也会一起使用。鉴于此,我只需要定义一个 UNIQUE INDEX,还是应该在 UNIQUE INDEX 之外指定一个 INDEX?
这?
或这个?
java - 在 Hibernate JPA2 上使用唯一约束
如何在休眠 POJO 上实现我的独特约束?假设数据库不包含任何内容。
我在@Column()
注释中看到了独特的属性,但我无法让它工作?
如果我想将此约束应用于多个列怎么办?
postgresql - 在 postgres 中对唯一违规执行删除或更新
关于 Unique_violation 异常如何更新或删除引发异常的行
表代码和插入
功能
mysql - MySQL 多个字段的唯一索引
我们的数据库中有一种特殊的表,它本身存储其更改的历史。所谓的“自存档”表:
它存储我们订户的“覆盖范围”。字段“当前”指示这是当前/原始记录(“C”)还是历史记录(“H”)。
对于给定的订阅者,我们只能有一个当前的“C”覆盖,但我们不能创建一个包含 2 个字段(*subscriber_id 和 current*)的唯一索引,因为对于任何给定的“C”记录,可能有任意数量的“H " 记录 - 变更历史。
所以索引应该只对当前 == 'C'和任何subscriber_id 是唯一的。
这可以在 Oracle DB 中使用“物化视图”之类的东西来完成:我们可以创建一个物化视图,它只包含current = 'C' 的记录,并使用以下两个字段创建一个唯一索引:*subscriber_id, current*。
问题是:如何在 MySQL 中做到这一点?