Sql将特定列从1增加到N.

时间:2014-02-13 09:22:18

标签: mysql sql

嘿,我有一个名为UID的列,其当前数据如下所示

uid
---
0
0
0
0
0
0
0
0
0

我想将值从1填充到N.例如,在

下面
uid
---
1
2
3
4
5
6
7
8
9
.
.
n

如何循环遍历所有行和增量值。

3 个答案:

答案 0 :(得分:0)

$n = 50;   //number of your records suppose it was 50 
for($i=1; $i<=$n; $i++)
{
    $res =  mysql_query("select * from `table name` where `UID`=0 LIMIT 1 ");
    if($row = mysql_fetch_assoc($res))
    {

        mysql_query("update `table name` set `UID`='$i' where UID=0 limit 1   ") or die(mysql_error)  

    }
}

答案 1 :(得分:0)

如果它是PRIMARY KEY和INT,您只能将列定义为AUTO_INCREMENT! 由于您希望将UID设置为AUTO_INCREMENT,为什么不将其设置为PRIMARY KEY

CREATE TABLE TableName
(
    UID INT AUTO_INCREMENT PRIMARY KEY,
    -- other columns...
)

答案 2 :(得分:0)

您可以通过简单的方式执行此操作,只显示序列行,如下所示:

SET @rank=0;
select @rank:=@rank+1 AS rank from Table1;

否则请使用PHP

修改

尝试做这样的事情:

 ALTER TABLE Table1 MODIFY COLUMN `id` int(4) Primary key NOT NULL AUTO_INCREMENT;