Ответ 1
Используйте ROW_COUNT():
SELECT ROW_COUNT();
У меня есть хранимая процедура в 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
Как определить, сколько строк было изменено этим обновлением?
Используйте ROW_COUNT():
SELECT ROW_COUNT();
в один конец, не очень оптимально - просто сделать выбор перед обновлением.
select count(*) from table1 where country = 'country1'
Попробуйте использовать следующий код:
int mysql_affected_rows ([ resource $link_identifier = NULL ] )