在 MySQL 中更新带有序列号的列
问题: MySQL 表包含名为“Number”的列当前保存多行的空值。任务是使用从 1 到 n 的连续数字更新此列,其中 n 代表行总数。
解决方案:
要完成此更新单个 SQL 命令,您可以结合使用 SET 和 update 语句。
SQL命令:
SET @rank := 0; update T set Number = @rank := @rank + 1;
解释:
此 SQL 命令包含两个不同的部分:
替代方法(一条语句):
可用于完成此更新的替代方法在一个声明中是:
UPDATE T JOIN (SELECT @rank := 0) r SET Number = @rank := @rank + 1;
注意:
两种方法都会有效地使用从 1 到 n 的连续数字更新 Number 列,其中 n 表示中的总行数T桌。
以上是如何为 MySQL 列分配序号?的详细内容。更多信息请关注PHP中文网其他相关文章!