2015-07-10 90 views
1

我寫下面的查詢,但它不工作就說明查詢中斷在不同的表MySQL的一列複製到另一個

update media m ,cities c 
    set m.latitude=c.latitude 
    where m.cities_id=c.id; 

任何人都可以知道什麼是錯在上面的查詢???

+0

這也取決於你想達到什麼目標,如果'media.latitude'根本沒有被填充,你可以做'insert into ... select'類型的東西。 – favoretti

回答

1

有一種替代語法允許更新中的連接,但這是標準的SQL方式。確保內部查詢只返回單個值。

update media 
set latitude = (
    select c.latitude from cities c where c.id = media.cities_id 
) 
+0

它也不工作,它顯示相同的錯誤 –

1

嘗試此查詢:

UPDATE media m LEFT JOIN cities c on c.cities_id = m.id SET m.latitude=c.latitude; 

注:確保兩個cities_id,ID是相同的數據類型。

+0

查詢的目的是設置緯度不是城市... – Maverick

+0

thnx的評論改變它 – HashSu

0

UPDATE media m INNER JOIN cities c ON m.cities_id = c.id SET m.latitude = c.latitude;

相關問題