2013-05-31 123 views
0

我對mysql中的executeUpdate命令有點困惑。我記得讀到它返回受影響的行。在另一個地方我讀到它返回匹配的行。任何人都可以澄清行匹配和行更改之間的區別嗎? executeUpdate返回的是什麼?行匹配和行之間的區別

回答

5

受影響的行(更新,更改)是executeUpdate返回的行。

匹配的行數是匹配提供的條件進行更新的行數。如果沒有更改列值,則不受影響。

例如,如果你有

id | name 
1 | bob 
2 | drew 
3 | david 

奔着

UPDATE t1 SET 
name = 'drew' 
WHERE name LIKE 'd%' 

兩行會匹配,但只有一個會受到影響。

+0

我的sql有點生疏,我無法理解上述語句。 'UPDATE tablename SET name ='drew''這是否缺少where子句?查詢的影響是什麼。我將不勝感激,如果你可以好好解釋一下 – MistyD

+0

謝謝,澄清它 – MistyD

+2

@MistyD沒有WHERE子句意味着*所有*行匹配。我編輯答案使其意圖更清晰。 (+1 btw) – Bohemian