首頁 >資料庫 >mysql教程 >當 MySQL 多連接語句中的表不是第一個表時,如何更新它?

當 MySQL 多連接語句中的表不是第一個表時,如何更新它?

DDD
DDD原創
2024-12-11 07:38:11512瀏覽

How to Update a Table in a MySQL Multi-Join Statement When It's Not the First Table?

在MySQL 中更新多連接語句中的表

當您想要更新MySQL 中的連接表

當您想要更新MySQL 中的連接表時,更新連接表可能會很困難。更新不是連接鏈中的第一個。本文探討如何使用 MySQL 的非常規 UPDATE 語法來克服這個障礙。

多表更新的非常規語法

與Microsoft SQL Server 的語法相反,MySQL 的UPDATE with JOIN語句不需要在FROM 子句中指定要更新的表。相反,它隱式使用 SET 子句中指定的表。

範例

UPDATE tableB
FROM tableA
JOIN tableB ON a.a_id = b.a_id
JOIN tableC ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
AND c.val > 10;

提供的範例嘗試根據tableA 和tableC 中的值更新tableB:

    鑰匙
  • 重點
  • 請問
  • SET 子句指定tableB為要更新的表。
FROM 子句被省略,因為它在 MySQL 的多連接更新語法中不是必需的。

標準SQL 不支援UPDATE with JOIN,MySQL 和Microsoft SQL Server 已經實現了自己對標準的擴充透過遵循MySQL 獨特的語法,即使目標表不是連接鏈中的第一個表,使用者也可以成功更新連接表。

以上是當 MySQL 多連接語句中的表不是第一個表時,如何更新它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn