Javascript 如何在mysql中一次更新一列中的多个随机条目?
我希望更新列Javascript 如何在mysql中一次更新一列中的多个随机条目?,javascript,php,mysql,Javascript,Php,Mysql,我希望更新列stemp中的值,但所有值必须在30和70之间不同且随机 for($i=0;$i<=30;$i++) { $temp= mt_rand(30,70); mysqli_query($con,"UPDATE sensor SET stemp= $temp"); } 对于($i=0;$i我想您需要稍微更改一下逻辑: 首先,使用从30到70创建一个数组。然后使用该数组并从中获取。使用该数组,您有30个元素,可以循环更新数据库条目。如下所示: <?php
stemp
中的值,但所有值必须在30和70之间不同且随机
for($i=0;$i<=30;$i++)
{
$temp= mt_rand(30,70);
mysqli_query($con,"UPDATE sensor SET stemp= $temp");
}
对于($i=0;$i我想您需要稍微更改一下逻辑:
首先,使用从30到70创建一个数组。然后使用该数组并从中获取。使用该数组,您有30个元素,可以循环更新数据库条目。如下所示:
<?php
$arr = range(30, 70);
shuffle($arr);
$update = array_slice($arr, 0, 30);
foreach($update as $v)
mysqli_query($con, "UPDATE sensor SET stemp = $v");
?>
您还可以使用MySQL的RAND()
函数:
mysqli_query($con, "UPDATE sensor SET stemp=ROUND(RAND() * 40) + 30");
将其放入循环也没有意义,因为您的update语句中似乎没有任何类型的WHERE条件,所以所有记录都将在每次更新。BTW:您知道,您总是更新所有条目,因为您没有WHERE子句?可以做些什么来保持每10秒更新一次是否运行每10秒执行一次PHP脚本的cron作业?