2015-04-04 109 views
0

我想通過一個mysql表遍歷,併爲每一行我想執行一個命令與當前行的ID。SQL對於每一行執行命令

所以在簡單的代碼,這需要做:

FOR EACH ROW IN TABLE 
SQL -> "UPDATE TABLE SET Value= '5' WHERE ID='ROW_ID'" 
END FOR 

我看着在互聯網上,但我遇到了非常模糊的答案。 有人可以幫我使用我需要使用的SQL命令嗎?提前致謝。

回答

1

只需使用update

UPDATE TABLE t 
    SET Value = '5' 

這將更新表中的所有行。僅當您要過濾正在更新的行時才使用where語句。

+0

那麼在我的情況下,它是不那麼容易。 對於每個ID,我需要從另一個具有相同ID的表中「複製」數據。 – 2015-04-04 15:17:10

+0

你也許有一個想法如何做到這一點? – 2015-04-04 17:42:27

+0

@Daniël斯特克倫堡。 。 。您應該提出另一個問題,提供樣本數據和期望的結果。這個問題(相同的表格提供了值並且正在被修改)已經有幾個答案。如果你改變了這個問題,那麼你使答案無效 - 這是無禮的。 – 2015-04-05 21:05:32

0

你期待這一點,

UPDATE表T 設定值=(選擇another_table ROW_ID)

您可以使用其他表中的數據。

+0

Ehm好吧,但我確實需要獲得每行的行ID。 – 2015-04-05 14:21:46

0

我得到它的工作使用此代碼:

UPDATE wWEEK JOIN STANDARD ON STANDARD.ID = wWEEK.ID SET 
 
wWEEK.Column1 = STANDARD.Column1, 
 
wWEEK.Column2 = STANDARD.Column2, 
 
wWEEK.Column3 = STANDARD.Column3, 
 
wWEEK.Column4 = STANDARD.Column4, 
 
wWEEK.Column5 = STANDARD.Column5, 
 
wWEEK.Column6 = STANDARD.Column6