Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mysql的更新中执行count()?_Mysql_Database_Database Design_Count - Fatal编程技术网

在mysql的更新中执行count()?

在mysql的更新中执行count()?,mysql,database,database-design,count,Mysql,Database,Database Design,Count,是否可以执行如下查询?如果可能的话,我想用它来代替存储过程 例如,有两个表 UPDATE items SET score='a', count=(SELECT COUNT(votes.id) AS C WHERE votes.uri = items.uri) WHERE items.id = 'b' 或者类似的事情。。。实际上是对一个表进行计数并使用该值更新另一个表 我甚至不知道这个问题是否有意义。如果需要的话,尽管叫我白痴吧 编辑对不起,这个问题可能没有意义。我想计算表“B”,并使用该值在同

是否可以执行如下查询?如果可能的话,我想用它来代替存储过程

例如,有两个表

UPDATE items
SET score='a', count=(SELECT COUNT(votes.id) AS C WHERE votes.uri = items.uri)
WHERE items.id = 'b'
或者类似的事情。。。实际上是对一个表进行计数并使用该值更新另一个表

我甚至不知道这个问题是否有意义。如果需要的话,尽管叫我白痴吧

编辑对不起,这个问题可能没有意义。我想计算表“B”,并使用该值在同一查询中更新表“A”

您要查找的是,您可以在查询后立即调用它,查看更新了多少记录

你真的很接近!这个怎么样:

UPDATE items SET score='a', count = (SELECT COUNT(votes.id) FROM votes WHERE votes.uri = items.uri) WHERE items.id = 'b'
编辑:Rafe首先发布了他的解决方案。

您要查找的是,您可以在查询后立即调用它,查看更新了多少记录

你真的很接近!这个怎么样:

UPDATE items SET score='a', count = (SELECT COUNT(votes.id) FROM votes WHERE votes.uri = items.uri) WHERE items.id = 'b'

编辑:Rafe首先发布了他的解决方案。

当然,您的语法基本正确:

UPDATE items
SET score= 'a', count = (SELECT COUNT(votes.id)
    FROM votes WHERE votes.uri = items.uri)
WHERE items.id = 'b'

这称为相关子查询。它是相关的,因为您在子查询中引用了外部查询中的表。

当然,您的语法基本正确:

UPDATE items
SET score= 'a', count = (SELECT COUNT(votes.id)
    FROM votes WHERE votes.uri = items.uri)
WHERE items.id = 'b'

这称为相关子查询。它是相关的,因为您在子查询中引用了外部查询中的表。

不太。。。我想计算一个表,并使用该值更新同一查询中的另一个表。哦,是的,我完全误解了你的问题。你是说你想使用查询结果。。。在另一个查询中!你可以只做两个查询并存储第一个查询的结果吗?不完全是。。。我想计算一个表,并使用该值更新同一查询中的另一个表。哦,是的,我完全误解了你的问题。你是说你想使用查询结果。。。在另一个查询中!您可以只做两个查询并存储第一个查询的结果吗?非常感谢!这很有道理。非常感谢您的反馈。非常感谢!这很有道理。我感谢你的反馈。