先上代码
CREATE DEFINER=`shiwu`@`%` PROCEDURE `idn`()
BEGIN
DECLARE rows INT;
INSERT INTO log VALUES('1','1',CURRENT_TIME),('2','2',CURRENT_TIME),('3','3',CURRENT_TIME);
SELECT ROW_COUNT();
END
说明:
1.row_count()函数是捕获insert了多少条数据。
2.这里要特别注意的是insert的写法。
必须是这这么写,row_count()捕获的值才会是3。这里和Oracle的insert写法不一样。切记。(代码见下)
INSERT INTO log VALUES('1','1',CURRENT_TIME),('2','2',CURRENT_TIME),('3','3',CURRENT_TIME);
3.还有一点要特别注意:
insert into后面必须紧跟着 select row_count(),中间不得写commit,否则select row_count()的值就是0.
附官网解释:
mysql> INSERT INTO t VALUES(1),(2),(3);
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT ROW_COUNT();
+-------------+
| ROW_COUNT() |
+-------------+
| 3 |
+-------------+
1 row in set (0.00 sec)
mysql> DELETE FROM t WHERE i IN(1,2);
Query OK, 2 rows affected (0.00 sec)
mysql> SELECT ROW_COUNT();
+-------------+
| ROW_COUNT() |
+-------------+
| 2 |
+-------------+
1 row in set (0.00 sec)