2017-02-12 135 views
0

我想用不同的值更新我的数据库中的表中的所有行。我试图while循环查询来做到这一点。这是我有...虽然循环sql查询

<?php 
$rand = rand(100,150000); 
$start = 1; 
$start += $start; 
$start2 = $start +1; 
echo $start; 
while($start =< 686) { 
echo "UPDATE table_video SET total_view = $rand WHERE id BETWEEN $start AND $start2;"; 
}; 
?> 

我相信你们大多数应该能够看看我的代码,并理解我想要完成的。我想要协助。非常感谢你!

+0

你只回应查询,永远不会执行..'$ rand'也只会生成一次。所有记录在每次迭代中将具有相同的整数。你应该把这个任务放在循环中。 – chris85

+1

我想了解'$ start'的事情......你将它初始化为'1'。然后你添加'1'('$ start = 2'),然后'$ start2'是'$ start + 1',它是'3'。 (我不知道你为什么要这样做,然后你做一个'while-statement'永不结束,因为你永远不会增加'$ start'(所以它始终是'$ start = <686') 。 – barbarity

+0

为什么你使用LOOP?而不是只更新所有的列与一个随机值? –

回答

1

使用mySQL RAND()函数,最小值和最大值范围为随机值。我相信这种情况是(100,150000)

UPDATE table_video 
SET total_view = ROUND((RAND() * (max-min)) +min) 
WHERE id BETWEEN 1 AND 686; 
+0

工作。非常感谢@JuanCarlosOropeza –