一般来说,我对 MySQL 和 SQL 有点陌生,所以希望这不是一个简单的问题。
我有一张表格,在结账时代表客户购物篮中的物品。此表表示客户仅限于 3 件商品的情况,因此我目前在购物篮中的每件商品都有一列。它看起来像这样:
+------------------------------------------------------+
+ id | item1 | item2 | item3 | val |
+------------------------------------------------------+
whereval
只是与篮子相关的一些值。就我的处理而言,项目的排序没有任何意义,所以理论上我希望将它们表示为无序集。这意味着一行 在(i1,i2,i3,val)
功能上等同于(i2,i1,i3,val)
。
我的问题是,如何在我的表和/或 SQL 中实现这一点,以便选择(i3,i2,i1,val)
将返回该行(i1,i2,i3,val)
?
当我插入时,我还需要有一些能捕捉到独特性的东西。例如,如果我插入(i2,i3,i1,newval)
,我希望表更新(i1,i2,i3,val)
为(i1,i2,i3,newval)
。