2015-04-04 119 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