嘗試更新查詢時遇到 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中文網其他相關文章!