我有两张桌子。项目具有字段 id、title、number。另一个表(列表)中的相关字段(列表)是具有逗号分隔值的字段,这些值是项目的 ID。我希望 items.number 与相关 ID 出现在列表表中的次数相同。例如,此查询可以正常工作以实现此目的...
update items set number = (select count(*) from lists where list like concat('%',items.id,'%')) where title > 'Z'
但是,如果我想更新整个项目(或者甚至只是以“Y”开头的标题,比如说,其中有很多以 Z 开头的 200 个),我会收到错误 - 要么是“MySQL 服务器已消失”或“查询执行被中断”。我认为这是因为查询要求太高。有没有更好的方法来实现这一点而服务器不会崩溃?