首頁 > 資料庫 > mysql教程 > 為什麼我的 MySQL 跨多個表的 UPDATE 查詢會導致「未知列」錯誤?

為什麼我的 MySQL 跨多個表的 UPDATE 查詢會導致「未知列」錯誤?

Linda Hamilton
發布: 2025-01-14 07:20:44
原創
819 人瀏覽過

Why Does My MySQL UPDATE Query Across Multiple Tables Result in an

更新多個表時出現 MySQL '欄位清單'中的未知列'錯誤

嘗試更新查詢時遇到 MySQL 錯誤 #1054?原因如下:

提供的查詢嘗試使用以下語法更新兩個表:MASTER_USER_PROFILE 和TRAN_USER_BRANCH:

UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow='y'
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17
登入後複製

但是,在跨多個表執行更新時,重要的是使用正確更新的語法。在這種情況下,會出現錯誤“‘字段列表’中的未知列‘y’”,因為 MySQL 將值‘y’解釋為列名,因為它周圍有單引號。

解決錯誤

要解決此問題,值'y' 應該用雙引號括起來或用反引號(`) 括起來,如下所示代碼:

UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow="y"
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17;
登入後複製

透過套用此修正,MySQL 將正確地將'y' 解釋為更新MASTER_USER_PROFILE 的Fellow 欄位的值。

引用約定

避免將來再出現此類錯誤時,遵守正確的引用約定至關重要。單引號或雙引號應用於值、字串等,而反引號應保留用於列名稱。

以上是為什麼我的 MySQL 跨多個表的 UPDATE 查詢會導致「未知列」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板