在MySQL中,我有一个这样的表:
Table 1
a b c
1 2 5
2 1 6
5 2 2
4 8 4
它持续了数千行。如何为每一行分配一个不同的整数(理想情况下从1开始,每行增加1)?
答案 0 :(得分:2)
最简单的可能是添加一个自动递增的主键(假设您没有主键设置):
ALTER TABLE t ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ADD PRIMARY KEY (id);
答案 1 :(得分:0)
在查询中,您只需使用变量:
select t.*, (@rn := @rn + 1) as seqnum
from table1 t1 cross join
(select @rn := 0) vars;
我建议将order by
与适当的列一起使用,以确保值符合您的要求。
答案 2 :(得分:0)
这应创建一个名为' id'的新列。并以当前检索记录的顺序自动分配整数。
ALTER TABLE `table_name` ADD COLUMN `id` INT NOT NULL AUTO_INCREMENT