首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL:使2个值成为唯一

MySQL:使2个值成为唯一
EN

Stack Overflow用户
提问于 2014-05-24 04:33:53
回答 1查看 41关注 0票数 0

我试图使两个值是唯一的,比如如果我有相同的值(5,10),那么相同的值就不能再被添加了。

我目前正在从表中选择值x和y,检查它们是否同时存在于表中,如果它们不存在,就插入它们。

“从x=?和y=的位置选择*”

如果没有返回结果,它将继续插入值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-24 05:10:26

这通常是通过在这两列上创建唯一的索引来实现的(多列索引)。

然后,MySQL将阻止您插入重复项。您可以继续并尝试插入记录,如果您得到一个重复的键错误,您知道它已经存在。

或者,另一种处理方法是使用INSERT IGNORE,以便在尝试插入重复行时不会发生错误。但是,它不会插入,所以您只需检查受影响的ROW_COUNT(),看看插入是否成功。

使用唯一的索引并捕捉插入上的失败比选择然后尝试插入更有性能,因为在插入的情况下,MySQL只需要执行一次搜索,而不是两次。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23841349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档