在MySQL中可以成对自动增量吗?

时间:2011-03-09 03:17:05

标签: mysql

我有match_id,它总是成对出现。而不是按如下方式递增:

... 1,2,3,4

是否可以像这样增加:

1,1,2,2,3,3,4,4-

如果不是,我怎么能保证我总是最多有两个相同的match_id。我试图在代码中实现手动解决方案,但偶尔如果发生冲突,我会一次获得三个。

这不是主键。但是我希望match_id成对出现,这样如果我查找匹配56,它将显示以下内容:

match_id, user_id, score
56, 29, 434
56, 49, 516

除以2是一种可能的解决方案,但它会使查询变得非常混乱。例如,搜索匹配56变得非常复杂

1 个答案:

答案 0 :(得分:3)

我很确定你不能像这样成对地自动增量。但是,通过使用{{1},您可以轻松地处理具有1,2,3,4 ......的列,就好像它有1,1,2,2,3,3,4,4 ......而不是FLOOR((match_id+1)/2)。您可以在数据检索语句中使用该表达式,也可以对数据库进行非规范化,并定义一个列,将该值与自动增量值一起插入。