我在ubuntu 12.10和MySQL Workbench上使用MySQL 5.1.41。MySQL更新連接不按預期工作
我有2個產品表,T1和T2。 t1是實時數據,t2是導入的數據,可以更新到t1以更新所有新產品的價格。所以我運行:
SELECT * FROM t1
JOIN t2 ON t1.id = t2.id
WHERE t1.price != t2.price;
這將返回1201個記錄,其中價格是不同的,需要更新。所以,我跑:
UPDATE t1 JOIN t2 ON t1.id = t2.id
SET t1.price = t2.price
WHERE t1.price != t2.price;
此完成,沒有錯誤和報告1143行(S)的影響,行匹配:1143更改:1143警告:0
所以已經在這裏的東西是不正確的。選擇查詢中的1201個記錄不同,但只有1143個記錄使用相同的連接和條件進行了更改?
運行初始選擇查詢我希望看到58點的記錄仍然有不同的價格。但是在運行時我得到了和我最初一樣的1201。就好像更新沒有被提交。
任何想法?
兩個表entrie具有相同的ID – sll
都是't1.price'和'同一類型的t2.price'列 – nobody
什麼sllev手段(我認爲)是:?是這兩個表中的'id'主鍵?如果不是,那就是原因。 –