好的,所以我运行此查询以获取计数,这是正确的:
mysql> select count(medias.fileRef) from medias where fileRef=20193621;
+-----------------------+
| count(medias.fileRef) |
+-----------------------+
| 135869 |
+-----------------------+
所以然后我运行它以将该计数放入另一个表中:
mysql> update files set refCount=(select count(medias.fileRef)
from medias where fileRef=20193621) where id=20193621;
Query OK, 1 row affected, 1 warning (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 1
(注意 medias.fileRef 是一个包含 files.id 的 INT),并且 files.refCount 应该包含指向该 files.id 的所有媒体行的总数:
然后我去检查它,它是错误的。
mysql> select refcount from files where id=20193621;
+----------+
| refcount |
+----------+
| 127 |
+----------+
这怎么可能?我在这里做错了什么?