如何确保两行不具有相同的值[重复]

Posted

技术标签:

【中文标题】如何确保两行不具有相同的值[重复]【英文标题】:How to make sure two rows don't have the same value [duplicate] 【发布时间】:2014-01-23 06:49:40 【问题描述】:

我有一个包含几列的表,我想确保两个特定列的值不同。其实我不想让用户多次报错。在插入报告之前,我想确保同一用户没有报告相同的内容,因此不应该存在具有相似用户 ID 和内容 ID 的行。 我想到的是发送查询以检查它是否返回结果,如果没有则插入报告。但一定有更好的办法。

感谢您的帮助。

【问题讨论】:

UNIQUE (userID, conentID) 【参考方案1】:

您可以在用户 ID 和内容 ID 上创建复合索引,并对该索引设置 UNIQUE 约束。

假设您有一个report 表:

alter table report add unique index(user_id, content_id);

现在,当您尝试插入与用户和内容 ID 对重复的记录时,您将收到一个错误,您可以在应用程序代码中适当地处理该错误。

【讨论】:

以上是关于如何确保两行不具有相同的值[重复]的主要内容,如果未能解决你的问题,请参考以下文章