Php 如何更新数据库中的随机行?
如何使用带where子句的rand()更新数据库中的随机行 这就是我现在正在尝试的,它不起作用,不确定出了什么问题Php 如何更新数据库中的随机行?,php,mysql,Php,Mysql,如何使用带where子句的rand()更新数据库中的随机行 这就是我现在正在尝试的,它不起作用,不确定出了什么问题 mysql_query("UPDATE `user` SET `token` = '$session' WHERE NOT toke = '1' limit 1 rand()"); 您的查询无效。首先,它有一个输入错误,toke应该是tokenWHERE NOT应该是WHERE标记“1”。您确实可以使用RAND(),但要使用onorderby子句。因此,您的查询应该如下所示:
mysql_query("UPDATE `user` SET `token` = '$session' WHERE NOT toke = '1' limit 1 rand()");
您的查询无效。首先,它有一个输入错误,
toke
应该是token
<代码>WHERE NOT应该是WHERE标记“1”
。您确实可以使用RAND()
,但要使用onorderby
子句。因此,您的查询应该如下所示:
mysql_query("UPDATE `user` SET `token` = '$session' WHERE `token` <> '1' ORDER BY RAND() LIMIT 1");
mysql\u查询(“更新`user`SET`token`='$session',其中`token`'1'按RAND()限制1排序”);
您的查询无效。首先,它有一个输入错误,toke
应该是token
<代码>WHERE NOT应该是WHERE标记“1”
。您确实可以使用RAND()
,但要使用onorderby
子句。因此,您的查询应该如下所示:
mysql_query("UPDATE `user` SET `token` = '$session' WHERE `token` <> '1' ORDER BY RAND() LIMIT 1");
mysql\u查询(“更新`user`SET`token`='$session',其中`token`'1'按RAND()限制1排序”);
错的是你只是在某处随机添加了RAND()
,而不考虑SQL语法…可能的重复错误是你只是在某处随机添加了RAND()
,而不考虑SQL语法…可能的重复我想她正在尝试更新随机行,所以关键点是更新uniqueID=rand()的内容。如果uniqueID是主键,那么LIMIT并不重要,但非常重要的是将rand()设置为有效的id,或者如果rand()抛出的某个数字不等于任何主键值,则查询不应更新任何内容。@DusanORDER BY rand()
使用随机值创建列并对其进行排序。然后LIMIT 1
将行数限制为1。因此,此查询将更新一个随机行。请注意,orderbyrand()
必须为每一行创建一个随机值,然后进行相应的排序。这会变得很慢。我建议在0和行计数之间选择一个随机数,然后通过LIMIT 1,random_number
进行偏移来过滤查询。我认为她正在尝试更新随机行,所以关键点是更新uniqueID=rand()的内容。如果uniqueID是主键,那么LIMIT并不重要,但非常重要的是将rand()设置为有效的id,或者如果rand()抛出的某个数字不等于任何主键值,则查询不应更新任何内容。@DusanORDER BY rand()
使用随机值创建列并对其进行排序。然后LIMIT 1
将行数限制为1。因此,此查询将更新一个随机行。请注意,orderbyrand()
必须为每一行创建一个随机值,然后进行相应的排序。这会变得很慢。我建议在0和行计数之间选择一个随机数,然后通过LIMIT 1,random\u number