mysql で更新があったレコード数を取得する方法。
各種言語のライブラリだと、mysql_affected_rows() 的なもので更新が合った行数を取得できますが、
mysql のコマンドラインでは、更新を行った直後に select row_count() を実行します。
以下の様なテーブルを作成。
create table ids (
id integer not null,
primary key(id)
);
insert into ids set id = 1;
insert into ids set id = 2;
insert into ids set id = 3;
insert into ids set id = 4;
insert into ids set id = 5;
insert into ids set id = 6;
insert into ids set id = 7;
insert into ids set id = 8;
insert into ids set id = 9;
insert into ids set id = 10;
変更があった行数を取得。
mysql> delete from ids where id <= 4;
Query OK, 4 rows affected (0.01 sec)
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 4 |
+-------------+
1 row in set (0.00 sec)
mysql> delete from ids where id <= 6;
Query OK, 2 rows affected (0.00 sec)
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 2 |
+-------------+
1 row in set (0.00 sec)