mysql - 根据时间戳列更新mysql id列

标签 mysql sql sql-update

我想知道是否可以根据 timestamps 更新所有 mysql 表 ids 列?

所以,我有一个包含列 ID 的表格, TEXT , STAMP ,并且ID确实乱了。可以对STAMP上的表进行排序然后更新所有IDs incremental from 1 (因此最旧的条目的 ID 为 1),只需一个查询?

最佳答案

UPDATE table_name a,(SELECT id,(@newid:=@newid+1) AS d FROM table_name,(SELECT @newid:=0) AS f ORDER BY stamp) AS g SET a.id = g.d WHERE a.id = g.id;

我想这样就可以了。

关于mysql - 根据时间戳列更新mysql id列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22529335/

相关文章:

mysql - Infinity、ActiveRecord 和 MySQL : storage and comparison

sql - 合并两个 SQL 查询

c# - 一次访问数据库就可以在 LINQ 中更新?

sql - 在 SQL 中查找重复项并更新它们?

java - 更新到 MySQL 返回 1,没有错误/异常,但实际上没有更新发生

php - mysql_connect ..没有连接也没有错误

MySQL 返回最低的邮政编码

Mysql选择多边形包含点的位置始终为false

php - 如何使用PHP + mySQL创建一系列DIV?

mysql - 如何使用mysql查找第一个非空列名