私は以下のようなmysqlにストアドプロシージャを持っています:
BEGIN
START TRANSACTION;
INSERT INTO tbl1 (v1,v2) VALUES (p1,p2);
UPDATE tbl2 SET s1 = 1 WHERE s2 = s3;
SELECT ROW_COUNT();
COMMIT
END
このクエリでは、トランザクションがコミットされなくても、row_countは1になります。実際、私の質問は、ロールバックが発生した場合に0を返すrow_countをどのように使用できるかということです。