2014-02-05 59 views
0

我有一个人的表,大约50K +记录。我需要在此表中添加一个新字段'given_number',默认为交替1,2或3。mysql数据库中新字段的交替默认值

id 1 - given_number = 1 
id 2 - given_number = 2 
id 3 - given_number = 3 
id 4 - given_number = 1 
id 5 - given_number = 2 
id 6 - given_number = 3 
id 7 - given_number = 1 
id 8 - given_number = 2 
id 9 - given_number = 3 

这样做的最好方法是什么?

+0

创建领域并给它分配'MOD(id - 1,3)+1' – hjpotter92

+0

这个数字是否需要精确分配?当一行被删除时会发生什么?可以在查询时完成而不是插入时间? – Kickstart

回答

0

作为given_number总是计算整除的默认设置添加列1
然后更新,并增加所有行你可以从ID(ID加1个模3加1),我觉得你并不需要真正表中的那个领域,但要求这个计算每当你需要它,而且名称计算given_number:

SELECT (id+1)%3+1 AS given_number, ... FROM ... 
0

我会建议你使用SQL添加列第一,那么你需要设置的值的新增加的字段

0

我不认为我有一个最好的解决方案,但可能是你可以试试这个:

1的ID是在相同的方式增量2
整除的ID的所有行是3