2015-05-05 196 views
2

我已經將文件導入到MySQL表中,現在我只想用更改來更新現有的表。僅更新MySQL更新

我正在嘗試這與選擇之前做它作爲更新之前。

這兩個表都有一個唯一的ID字段和值字段。

下面的查詢沒有給出任何結果雖然在價值領域的差異:

SELECT a.id, a.value, b.value FROM a, b WHERE a.id=b.id AND a.value!=b.value

當我與a.value=b.value嘗試它的作品,但我需要的變化。

任何想法?

我的目標是與來自B表更改​​後的值到底要更新表,但因爲我不想改變「lastedit」領域,如果沒有變化,我不能更新一切。

我無法將表a的結構更改爲自動「lastedit」字段。

+0

不回答問題,但更好地使用加入代替 – apomene

+2

如果你沒有得到任何結果,那麼你沒有任何記錄具有相同的ID和不同的值... –

回答

2
UPDATE a INNER JOIN b ON a.id = b.id 
SET a.value = b.value 
WHERE a.value <> b.value 
; 

當然不過,這只是更新任何東西,如果(如馬克的B他的評論說以上)的表中有相應的ID值。

+1

這不會更新任何東西。當我做'選擇a.id,b.id,a.value,b.value FROM a,b WHERE a.id = b.id'我可以看到多個記錄具有相同的id和不同的值。 –

+0

@RobertKaiser,也許如果你可以添加你的數據樣本,它可能會幫助我們確定問題。 – Uueerdo