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

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 对重复的记录时,您将收到一个错误,您可以在应用程序代码中适当地处理该错误。

【讨论】:

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

如何使用 scikit learn 确保测试集和训练集具有相同的功能?

将两个数据框相乘,基于列并且跳过行不满足条件

如何在 MySQL 中删除具有几个相同值的行?

如果该行具有超过 1 个相同的值/重复,则从选择中排除行

从表的两行到视图中的值总和[重复]

如何从 phpmyadmin 获取具有相同日期时间的值?