2

我需要将某些行中的字段设置为序列中的数字(0、1、2、...)。通常这应该有效:

SET @counter:=-1;
UPDATE nodes SET sort=@counter:=@counter+1 WHERE parent_id=2

但是无法使用 mysql_query() 进行多个查询。有没有办法在单个查询中完成此操作,或者我应该在一个循环中运行多个查询?

4

1 回答 1

2

尝试加入:

UPDATE nodes cross join (select @counter := -1) const
    SET sort = (@counter:=@counter + 1)
    WHERE parent_id = 2;
于 2013-07-25T21:16:45.207 回答