选择递增的整数

时间:2011-02-22 04:09:47

标签: mysql integer

我想知道是否可以从mysql表中选择递增的整数?如果可能的话,我该如何实现呢?

我的情况是,我有一堆数据,我需要做INSERT INTO newtable ... SELECT somefield FROM sometable。但是,newtable上有一个名为counter的字段,我需要以递增的整数形式,例如:

row #1: counter=1
row #2: counter=2
row #3: counter=3
row #4: counter=4
row #5: counter=5
row #6: counter=6
... and so on...

我可以使用简单的PHP脚本来做到这一点,但我想尝试从mysql查询中完成所有操作。所以,你能告诉我是否有可能吗?

1 个答案:

答案 0 :(得分:15)

试试这个:

INSERT INTO newTable(someField, counter)
SELECT a.someField, (@rank:=@rank+1) AS counter
  FROM sometable a INNER JOIN 
       (SELECT @rank :=0) b