我需要将某些行中的字段设置为序列中的数字(0, 1, 2, ...)。通常这应该有效:
SET @counter:=-1;
UPDATE nodes SET sort=@counter:=@counter+1 WHERE parent_id=2
但是不能用mysql_query()进行多次查询。有没有办法在单个查询中完成此操作,或者我应该在循环中运行多个查询?
最佳答案
尝试进行连接:
UPDATE nodes cross join (select @counter := -1) const
SET sort = (@counter:=@counter + 1)
WHERE parent_id = 2;
关于php - 使用 mysql_query() 使用数字序列更新表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868680/