Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aktualisieren Sie eine Spalte mit einer COUNT von anderen Feldern ist SQL?

Sie können keinen Join in einer Update-Anweisung haben. Es sollte sein

update articles
set num_comments =
(select count (*) from comments
where comments.article_id = articles.id)

Dadurch wird die gesamte Artikeltabelle aktualisiert, was möglicherweise nicht das ist, was Sie möchten. Wenn Sie beabsichtigen, nur einen Artikel zu aktualisieren, fügen Sie nach der Unterabfrage eine 'where'-Klausel hinzu.