我正在嘗試更新另一個表中定義的列。基本上,我將兩個表連接在一起,並通過將tbl2設置爲等於tb1來更新列中的數據。加入MYSQL更新未正確加入
UPDATE phone
JOIN companyInfo
ON companyInfo.companyName = phone.companyName
SET phone.companyID = companyInfo.companyID
由於某些原因,手機中的companyID只針對某些行進行更新。我在手機tbl中有大約58mil行,每個都有一個與companyInfo中的companyName匹配的正確companyName。我不知道爲什麼只有34mil的行受到更新的影響。相同的查詢已完美適用於我的其他表格。手機表的結構是正確的,但是mysql似乎沒有識別手機中的某個公司名稱,這意味着即使這些名稱在表格中(我可以在SELECT *語句中看到它們),我也無法通過某些公司名稱搜索手機。這些名稱是在連接中未被識別的名稱。任何人都可以對此有所瞭解嗎?
要進行故障排除,請執行LEFT JOIN(僅選擇 - 不更新)連接字段爲空的位置,以查看哪些行不匹配。 – dugas
你可以只是做同樣的陳述,但作爲選擇而不是更新?我會想象你會得到相同的結果,你正在更新...兩個表之間的公司名稱可以有所不同嗎? (縮寫,尾隨空格等) – Kritner
這兩個表/列的排序是否相同? – i486