在表格中添加自动增量字段

时间:2012-02-04 16:30:46

标签: mysql

我需要你救我的生命。 我有一张桌子,有很多行。其中一个字段是id,它有auto_increment。

出于法律原因,现在我需要另一个自动增量字段(不是auto_numeric,我将手动控制它)。第一排的字段从567开始。

如何添加i存在行新的相关数字? 568,569,570 ......

3 个答案:

答案 0 :(得分:0)

您可以编写存储过程并使用CURSOR来实现您的目标,使用游标可以迭代查询结果并执行某些操作(在您的情况下为UPDATE语句)在每行返回。

答案 1 :(得分:0)

只需创建一个新的int字段,然后用

更新它
UPDATE table SET new_column = auto_increment_column + 567;

当然,这也将保留原始列中的所有中断。您可以删除auto_increment字段并重新添加以消除它。这需要几个小时,但我觉得生命是值得的。

如果你真的需要手动重新编号字段,你可能只需要按照之前的评论者的建议,并使用PHP或游标循环遍历所有记录。

答案 2 :(得分:0)

我找到了解决方案:

SET @pos = 566; UPDATE mytable SET field_id2 =(SELECT @pos:= @pos +1)ORDER BY id ASC;