我需要你救我的命。我有一个有很多行的表格。其中一个字段是id,它有auto_increment。
由于法律原因,现在我需要有另一个自动增量字段(不是auto_numeric,我将手动控制)。第一行中的It字段从567开始。
我怎么才能加上我存在的列新的相关数字? 568 ,569,570……
发布于 2012-02-05 08:49:09
我找到了解决方案:
SET @pos =566;UPDATE mytable SET field_id2 =( SELECT @pos := @pos +1 ) ORDER BY id ASC;
发布于 2012-02-05 01:52:11
您可以编写存储过程并使用CURSOR来实现您想要的结果,使用游标可以迭代查询的结果并对返回的每一行执行特定的操作(在本例中是UPDATE语句)。
发布于 2012-02-05 01:53:15
只需创建一个新的int字段,然后用
UPDATE table SET new_column = auto_increment_column + 567;当然,这也将保留原始列中的所有分隔符。您可以删除auto_increment字段,然后重新添加它以消除它。可能需要几个小时,但我想生命是值得的。
如果您确实需要手动对字段进行重新编号,那么您可能只需要按照前面评论者的建议,使用PHP或游标来遍历所有记录。
https://stackoverflow.com/questions/9142398
复制相似问题