我的目的是修改字段b的值为数字序号,第一行是1,第二行是2,第n行是n,一直修改完所有记录,这条语句怎么写?
2 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
如果表a有自增长ID的话就很好办了 update a set b = id 如果没的话写一个PHP的小程序就好
<?php
$con = mysql_connect("localhost","root","password") or die("数据库连接失败".mysql_error());//连接数据库
mysql_select_db("test",$con) or die ("数据库选择失败".mysql_error());
mysql_query("set names gbk");//设置编码格式
$a = mysql_query("select * from a");
$n = 1;
while($b = mysql_fetch_array($a))
{
mysql_query("update a set b = "."'".$n."'"." where id = ".$b['id']); //where 后面的条件语句可以是任意该表内字段
$n++;
}
翻阅古今
TA贡献1780条经验 获得超5个赞
将update语句放到for循环中
如果是在数据库上操作,可以用T-SQL处理: eg: 表:ttt (id )有7条记录, id: 1 2 3 4 5 6 7 declare @i int set @i=7 while @i>0 begin --insert into ttt values(@i) update ttt set id=@i+1 where id=@i print @i set @i=@i-1 end go 一定要倒序循环 结果: id: 2 3 4 5 6 7 8 这样写:update ttt set id = id +1 where id in (select id from ttt) 也行 程序中在写sql 的地方 可以套用for循环
添加回答
举报
0/150
提交
取消