Подтвердить что ты не робот

Получите количество затронутых строк в операторе обновления 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

Как определить, сколько строк было изменено этим обновлением?

4b9b3361

Ответ 1

Используйте ROW_COUNT():

SELECT ROW_COUNT();

Ответ 2

в один конец, не очень оптимально - просто сделать выбор перед обновлением.

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

Ответ 3

Попробуйте использовать следующий код:

int mysql_affected_rows ([ resource $link_identifier = NULL ] )