如何修復 MySQL 更新查詢中的子查詢錯誤?

Patricia Arquette
發布: 2024-10-27 05:35:02
原創
236 人瀏覽過

How to Fix a Subquery Error in a MySQL Update Query?

更新查詢中的MySQL 子查詢錯誤

由於將子查詢與外部更新語句關聯的語法不正確,提供的查詢面臨錯誤。出現此問題的原因是外部更新中的 WHERE 子句在執行內部子查詢之前套用。

要解決此問題,我們需要採用如下所示的多表更新方法:

UPDATE
  Competition AS C
INNER JOIN (
  SELECT
    CompetitionId,
    COUNT(*) AS NumberOfTeams
  FROM
    PicksPoints AS P
  WHERE
    UserCompetitionID IS NOT NULL
  GROUP BY
    CompetitionID
) AS A
  ON C.CompetitionID = A.CompetitionID
SET
  C.NumberOfTeams = A.NumberOfTeams
登入後複製

在此調整後的查詢中:

  • 我們在競賽表(別名“C”)和返回所需計數的子查詢(別名“A”)之間包含一個INNER JOIN。
  • ON 子句中的條件將 C.CompetitionID 與 A.CompetitionID 相關聯,確保行之間的正確關聯。
  • SET 子句使用子查詢的結果更新 Comparison 表中的 NumberOfTeams 欄位。

此修改後的查詢有效地使用正確的團隊計數更新了競賽表,解決了先前的語法錯誤。

以上是如何修復 MySQL 更新查詢中的子查詢錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!