2012-01-29 59 views
0

我有點被這個問題困住了..我想要的是更新app_name(第一個表格)。它沒有返回錯誤..但什麼都不做......如何使用第二個表中的數據更新一個表格

UPDATE tbl_m_app AS tma, tbl_measure AS tm 
SET tma.app_name='Ap1' 

WHERE (tm.mesure_id = tma.mesure_id 
AND tm.live = 1) 
+1

在問題 – zerkms 2012-01-29 23:14:09

+0

中完全沒有關於php的內容,您需要更多詳細信息,您是否只需從幾個值進行更新,或將數據從同一結構化表移動到另一個相同的結構化表? – Jakub 2012-01-29 23:15:48

+0

我想要的是將app_name設置爲一個變量(php),它對應於第二個表中只有一條記錄。mesure_id是AUTO_INCREMENT – Hia 2012-01-29 23:21:02

回答

1

這個查詢會做同樣的工作,更加明顯的方式,並沒有加入

UPDATE tbl_m_app AS tma 
SET tma.app_name='Ap1' 
WHERE tma.mesure_id IN (SELECT tm.mesure_id FROM tbl_measure AS tm WHERE tm.live = 1) 
+0

奇怪的......但是這個爲我工作!謝謝! :) – Hia 2012-01-29 23:54:49

0

我覺得這個SQL是好的,它只是不匹配任何行。

檢查這通過使用選擇具有相同的where子句:

SELECT * FROM tbl_measure tm WHERE tm.live=1; 

0返回的行,對不對?

+0

它回到了一些行,但(mesure_id + live)只有一個 – Hia 2012-01-29 23:22:07

+0

@Hia那麼連接條件如何呢? 'SELECT COUNT(*)FROM tbl_m_app AS tma,tbl_measure AS tm WHERE tm.mesure_id = tma.mesure_id AND tm.live = 1' – Howard 2012-01-29 23:25:08

+0

返回:COUNT(*)1 – Hia 2012-01-29 23:37:29

相關問題