2013-05-31 80 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