2010-11-29 121 views
12

我已經存儲在MySQL的過程中,像下面:獲取MySQL更新語句中受影響的行數?

create procedure SP_Test (input1 varchar(20)) 
begin 
update Table1 set Val1='Val' where country=input1; 
//I want to see if this update changed how many rows and 
//do some specific action based on this number 
.... 
end 

我怎麼能確定有多少行受到此更新改變了嗎?

回答

0

單向,不是非常理想的是在做更新之前簡單地做一個選擇。

select count(*) from table1 where country = 'country1' 
+3

僅用於鎖定表真。 – Basilevs 2011-12-08 07:34:22

+1

這不會告訴「UPDATE」有多少行被更改過。 – dolmen 2016-02-29 14:39:03

+0

@dolmen它會如果where子句匹配的更新和沒有任何字段在哪裏設置,沒有其他更改了它們之間的更新和選擇,所以絕對不是理想的但可行 – MikeT 2017-01-20 15:58:44

-1

試試下面的代碼:

int mysql_affected_rows ([ resource $link_identifier = NULL ]) 
相關問題