用连续值 0,1,2,3... 在记录中填充整数字段 FLD 的 SQL 语句是什么?
它是 Firebird 数据库中现有且已填充的表,在另一个字段上具有主索引,但该主索引字段具有与 FLD 无关的非顺序值。
目前对 FLD 没有任何限制,应该保持这种状态。可以覆盖以前的值。
经过更多搜索后,我找到了它(感谢将顺序值分配给 Sql server 中的 ID 列中的答案):
UPDATE tt_calendar c1
SET tt_taskindex=(SELECT COUNT(*) FROM tt_calendar c2
WHERE c2.tt_calendar_id < c1.tt_calendar_id)+1
tt_calendar 是我的表名
tt_taskindex 是要更新的FLD
tt_calendar_id 是主键字段
如果您的数据库支持,请创建一个序列,然后:
update TABLE set FLD = SEQUENCE.nextval;
如果再次运行该命令,请务必重置序列。