【问题标题】:While looping sql query循环sql查询时
【发布时间】:2017-06-30 21:03:38
【问题描述】:

我正在尝试使用不同的值更新数据库中表中的所有行。我正在尝试循环查询来执行此操作。这就是我所拥有的......

<?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;";
};
?>

我相信你们中的大多数人应该能够查看我的代码并理解我想要完成的工作。我想要帮助。非常感谢!

【问题讨论】:

  • 您只回显查询,从不执行。$rand 也只会生成一次。所有记录在每次迭代中都将具有相同的整数。您应该将作业放入循环中。
  • 我正在尝试理解 $start 的东西......你将它初始化为 1。然后你添加1 ($start = 2) 然后$start2$start + 1 这是3。 (我不知道你为什么要这么做。然后你制作一个永无止境的while-statement,因为你永远不会增加$start(所以它总是$start =&lt; 686)。
  • 为什么要使用 LOOP?而是用随机值更新所有列?
  • 我想要的是第一个实例回显 UPDATE table_video SET total_view = 74956 WHERE id = 1; 然后 UPDATE table_video SET total_view = 54687 WHERE id = 2; ...我在我的问题中犯了一个错误,BETWEEN 是为了不同的试验和错误。
  • @JuanCarlosOropeza 我该怎么做?

标签: php mysql sql random while-loop


【解决方案1】:

使用 mySQL RAND() 函数,最小和最大随机值的范围。我相信这个案子是(100,150000)

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

【讨论】:

  • 那行得通。非常感谢@JuanCarlosOropeza
猜你喜欢
  • 1970-01-01
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-10
相关资源
最近更新 更多