如何在SQL中将指定ID范围按对应关系更新为另一ID范围
前置操作提醒
- 执行更新前请务必完整备份
files表,避免操作失误导致数据丢失 - 建议先执行以下查询确认映射关系符合预期,再运行更新语句:
SELECT id, id + 100 AS target_id FROM files WHERE id BETWEEN 301 AND 400 ORDER BY create_at DESC;
通用更新SQL语句
UPDATE files SET id = id + 100 WHERE id BETWEEN 301 AND 400;
结果验证
更新完成后可执行以下语句核对更新是否正确:
SELECT id AS new_id, id - 100 AS source_id FROM files WHERE id BETWEEN 401 AND 500 ORDER BY id ASC;
注意:如果
id字段为主键或设置了唯一约束,请提前确认401-500区间无现有ID占用,否则会触发唯一索引冲突导致更新失败。
内容的提问来源于stack exchange,提问作者Daringbaaz Aashiq
相关产品推荐
相关产品推荐

