是否可以以这种方式将随机行(带有一列)移动到另一个表,这样即使同时请求它也没有人获得此数据?
例如:如果您打开我的页面,您将从MySQL获得一个数据,即使与您同时打开此页面也无法获得。
现在我这样做:
mysql_query("INSERT INTO `ShowRow` SELECT * FROM `AllRows` WHERE 1 LIMIT 1");
mysql_query("DELETE FROM `AllRows` LIMIT 1");
是否可以采取其他更好的方式?或者,如果只有一列,如何SELECT
某个特定行?
答案 0 :(得分:0)
您可以使用函数RAND()随机排序行并取第一行。
SELECT * FROM AllRows ORDER BY RAND()LIMIT 1,1
答案 1 :(得分:0)
谢谢大家,但我已经这样做了:
$accCount = mysqli_query($connect, "SELECT * FROM AllRows");
$accCount = mysqli_num_rows($accCount);
$RandAcc = rand(0, $accCount);
$result = mysqli_query($connect, "SELECT * FROM `AllRows`");
$ReplaceRandAcc = mysqli_result($result, $RandAcc);
mysqli_query($connect, "INSERT INTO `ShowRow` SELECT * FROM `AllRows` WHERE login='".$ReplaceRandAcc."'");
mysqli_query($connect, "DELETE FROM `AllRows` WHERE login='".$ReplaceRandAcc."'");
function mysqli_result($res, $row, $field=0) {
$res->data_seek($row);
$datarow = $res->fetch_array();
return $datarow[$field];
}