在数据库中添加随机数


Add random numbers in database

我有一个由5个数字组成的数组。我使用事件调度每隔5秒插入一行,但它只插入第一个值。如何在mysql中的每次插入时插入不同的数组值。

这是我的代码:

<?php
  require_once('con.php');  
  $numb = array(101,245,342,894,45);
  $random = array_rand($numb);
  for($a=0;$a<=5;$a++)
  {
        $query = "CREATE EVENT myEvent1 ON SCHEDULE EVERY 5 SECOND DO BEGIN INSERT INTO emp(emp_id) VAlUES('$numb[$random]'); END";
        $res = mysqli_query($con,$query);
  }
?>

您将在PHP中获得随机数,并将其传递给MySQL,每5秒使用一次。相反,你需要在MySQL中做随机部分,这样你每次都是随机的。(参考此:MYSQL从列表中随机插入)

$query = "CREATE EVENT myEvent1 ON SCHEDULE EVERY 5 SECOND DO BEGIN INSERT INTO emp(emp_id) VAlUES(ELT(0.5 + RAND() * 5, 101, 245, 342, 894, 45)); END";

试试这个:

  $numb = array('101','245','342','894','45');

或者这个:

array_rand(array_flip($numb), $n);

查看此了解更多信息:http://php.net/manual/en/function.array-rand.php