在MySQL上使用限制随机教程
我只是用这个查询
SELECT * FROM questions
ORDER BY RAND()
LIMIT 20;
在mysql数据库上,我有一列名为display(以及问题列)的值等于1.所以现在在查询中可以看到我限制为20.我想更改所有的值显示20 = 0我知道这是查询
update test3
set display=0
where id=11;
但这只是将显示设置为一行,我该如何为20行显示呢.
提前致谢.
解决方法:
你可以这样做
update test3
set display=0
where id in (select id from questions order by rand() limit 20);
假设您正在使用php.
$result = msyql_query("select id from questions order by rand() limit 20");
$ids = array();
while($row = msyql_fetch_assoc($result)){
$ids[] = $row['id'];
}
根据您的条件,首先执行第一个查询并保存第一个查询中的ID.
假设您使用的是php,并且已将第一个查询的ID保存在$ids中;
您可以像这样运行第二个查询;
$idstring = implode(',',$ids);
$query = 'update test3 set display=0 where id in ('.$idstring.' )';
$result = mysql_query($query);