我已经在我的管理表中添加了新列。我想用生效日期列填充修订列。
ALTER TABLE home.prod ADD revision int;
修订版本号将从100开始并以1递增。修订版本将基于生效日期。因此,最旧的eff_date将获得100,然后最旧的eff_date将获得101,依此类推。
Eff date 1/1/2012 – Revision 100
Eff date 1/1/2013 – Revision 101
Eff date 7/1/2014 – Revision 102
Eff date 1/1/2015 – Revision 103
像这样的声明-
revision =100
UPDATE prod.admin
SET revision= revision+ 1
WHERE eff_date = /'
最佳答案
在MySQL中,您可以执行
UPDATE prod.admin
CROSS JOIN (select @rev := 99) r
SET revision = (@rev := @rev + 1)
ORDER BY eff_date asc