我需要将某些行中的字段设置为序列中的数字(0,1,2,...)。通常这应该有效:
SET @counter:=-1;
UPDATE nodes SET sort=@counter:=@counter+1 WHERE parent_id=2
但是无法使用mysql_query()进行多次查询。有没有办法在单个查询中完成此操作,还是应该在循环中运行多个查询?
答案 0 :(得分:2)
尝试加入:
UPDATE nodes cross join (select @counter := -1) const
SET sort = (@counter:=@counter + 1)
WHERE parent_id = 2;