当前位置: 首页 > 面试题库 >

如何在不考虑列顺序的情况下创建唯一索引(设置?)

伍溪叠
2023-03-14
问题内容

我在表格中有两列:Object1Object2。我想以不允许插入两行的方式使对(Object1Object2)唯一:

Object1 = 1, Object2 = 2
Object1 = 2, Object2 = 1

问题答案:

在这种情况下least(),您可以在表达式上创建索引greatest()

create unique index idx_obj1_obj2 on table(least(Object1, Object2), greatest(Object1, Object2));

注意:如果各列允许NULL值,则有些奇怪。在那种情况下,无论位于哪个列中,相同的值都只能被允许一次。如果这实际上是一个问题,则可以使用更复杂的表达式来解决。



 类似资料:
  • 我正在编写一个从站点中抓取信息的python代码,但我必须首先去掉一些cookies弹出窗口。要单击右侧按钮,我需要它们的XPath(据我所知)。问题是XPath的一部分每次都发生变化,我不知道如何找到它们,因为它们实际上没有任何属性,比如ID之类的。 这是按钮的HTML: 这是我现在使用的命令: 这是XPath: 变量每次都变,所以我改变了14。

  • 问题内容: 不知道在PostgreSQL 9.3+中是否可行,但是我想在非唯一列上创建唯一索引。对于像这样的表: 我想仅能[快速]查询不同的日子。我知道我可以用来帮助执行不同的搜索,但是如果不同值的数量大大少于索引覆盖的行数,这似乎会增加额外的开销。就我而言,大约30天中有1天与众不同。 我是创建关系表以仅跟踪唯一条目的唯一选择吗?思维: 并在每次插入数据时使用触发器来更新它。 问题答案: 索引只

  • CreateIndexes 根据struct中的tag来创建索引 CreateUniques 根据struct中的tag来创建唯一索引

  • 本文向大家介绍什么情况下需要创建MySQL索引?,包括了什么情况下需要创建MySQL索引?的使用技巧和注意事项,需要的朋友参考一下 索引可以提高数据的检索效率,也可以降低数据库的IO成本,并且索引还可以降低数据库的排序成本。排序分组操作主要消耗的就是CPU资源和内存,所以能够在排序分组操作中好好的利用索引将会极大地降低CPU资源的消耗。 如何判定是否需要创建索引? 1、较频繁地作为查询条件的字段

  • 我有一个contenteditable div,用户可以在其中输入文本。我希望文本自动换行,但不像默认的空格或连字符,而是像这样: 我如何才能实现这一点?

  • 问题内容: 我发现进行辅助查询来检查更多结果以显示 更多加载 按钮是非常不专业的。 我正在使用PDO,有什么方法可以在没有限制过滤器的情况下获得找到的总行数,但仍在过滤结果? 当前代码: 问题答案: 仅MySQL AFAIK: 当然,对于数据库服务器而言,查询一次就像查询所有记录一样繁重。对于非MySQL使用,此查询当然比获取 所有 记录的行数更好: