Возвращает число строк, на которые воздействует последний UPDATE, DELETE или INSERT.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ:
Целое число > 0 показывает число измененных строк.
Ноль, если никакие записи не соответствовали предложению WHERE в UPDATE или DELETE.
-1, если запрос возвратил ошибку, например, была сделана попытка добавить двойной первичный ключ в течение одного INSERT.
ПРИМЕР:
mysql_query(&mysql,"INSERT INTO gl_transact(acctnbr, amount) VALUES(12345,
651.30)");
if (mysql_affected_rows(&mysql) < 0)
fprintf(stderr, "Attempted to add duplicate primary key\n");
MySQL оптимизирован для случая удаления всех записей в таблице. Побочный эффект этой оптимизации - то, что MySQL возвратится, ноль для числа строк, на которые воздействовал в этой ситуации. Выполнение 'select count(*) from the_table' перед удалением всех записей даст Вам значение = на сколько строк воздействовала система, хотя это значение может изменяться между SELECT и DELETE. MySQL 3.20.X не поддерживает блокировку таблицы. Это исправлено в версии 3.21.X