Sta*_*olf 5 mysql sql database random limit
我刚刚使用了这个查询
SELECT * FROM questions
ORDER BY RAND()
LIMIT 20;
Run Code Online (Sandbox Code Playgroud)
在 mysql 数据库上,我有一个名为 display 的列(以及问题列),其中值等于 1。所以现在正如您在查询中看到的那样,我限制为 20。我想更改所有的值20 显示=0。我知道这是查询
update test3
set display=0
where id=11;
Run Code Online (Sandbox Code Playgroud)
但这只是设置一行的显示。我该如何做 20 行呢?提前致谢。
你可以这样做
update test3
set display=0
where id in (select id from questions order by rand() limit 20);
Run Code Online (Sandbox Code Playgroud)
假设您正在使用 php。
$result = msyql_query("select id from questions order by rand() limit 20");
$ids = array();
while($row = msyql_fetch_assoc($result)){
$ids[] = $row['id'];
}
Run Code Online (Sandbox Code Playgroud)
对于您的条件,首先执行第一个查询并保存第一个查询中的 id。
假设您使用的是 php,并且您已将第一个查询的 id 保存在$ids;中。
您可以像这样运行第二个查询;
$idstring = implode(',',$ids);
$query = 'update test3 set display=0 where id in ('.$idstring.' )';
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19306 次 |
| 最近记录: |