为 MySQL 中的表列分配序号
假设您有一个 MySQL 表,其中包含名为“Name”和“Number”的列,其中“数字”列当前包含空值。目标是将从 1 开始的连续编号分配给表中每一行的“编号”列。这可以使用以下 SQL 命令来实现:
SET @rank:=0; update T set Number=@rank:=@rank+1;
解释:
替代方法:
或者,您可以使用单个 SQL 语句和子查询:
UPDATE T JOIN (SELECT @rank := 0) r SET Number=@rank:=@rank+1;
注意:
对于行数较多的表,建议创建一个带有 AUTO_INCREMENT 属性的附加列,而不是依赖用户定义的变量或子查询。
以上是如何在 MySQL 中为表列分配序号?的详细内容。更多信息请关注PHP中文网其他相关文章!