mysql - 同一查询每次返回的记录数不同

标签 mysql count records

这个查询结果每次都不一样:

update product_models
  set category_id = (select id from categories order by RAND() limit 1)

重复计数不同: 884 条记录受到影响
878 条记录受到影响
877 条记录受到影响
892 条记录受到影响
893 条记录受到影响
883 条记录受到影响
885 条记录受到影响

怎么会这样?

额外信息

<小时/>

类别中有 22 行
产品型号 - 900
产品中 - 600
子查询没有条件,没有连接,并且始终返回单行。
主查询也没有条件或连接,因此它也应该返回一个固定的数字。

因此,每次执行应返回 900 个产品模型,并且每个下午应由子查询更新

最佳答案

假设每次运行查询时数据都是相同的,原因是如果数据没有更改,行不会被计为受影响。因此,如果选择 5 作为随机 ID,则category_id 已具有 5 的行不会被计算在内。

关于mysql - 同一查询每次返回的记录数不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14692778/

相关文章:

php - 如何防止 MySQL 使用空字符串更新列?

php - 在 MySQL 中使用声明

php - 如何根据某些条件执行 MySQL COUNT

php - 如何从多个 MySQL 数据库中添加值

dynamic - 以编程方式将 A 记录添加到 DNS 区域文件?

mysql case 满足多个条件

mysql - 我的大型 mysql 表注定要失败吗?

SQL 计数和求和

asp.net - DATA 和 IMAGE 填充在两行中。我想将它们绑定(bind)在一行中

sql-server - SQL 服务器 : query to compare records in a single table and return those that don't match