假设有一张文章表,想根据发表时间排序 重新设置主键ID按照顺序
可以让表的主键ID 更新成新的ID,为了防止后面更新主键重复, 这里加了10000, 实际情况应该根据表记录行数来取值
UPDATE article SET id=id+10000;
然后再根据时间排序查询rowNo行号,将rowNo重置主键ID的值
UPDATE article a INNER JOIN ( SELECT id, create_time, (@rowNum :=@rowNum + 1) AS rowNo FROM article a, (SELECT(@rowNum := 0)) b ORDER BY a.create_time ASC ) b ON a.id = b.id SET a.id = b.rowNo