おそらく、テーブルはMyISAMストレージエンジンをデフォルトとして作成されています。MyISAMストレージエンジンはトランザクションをサポートしていません。
テーブルを作成
CREATE TABLE a ( id SERIAL PRIMARY KEY) ENGINE = MYISAM;
クエリ
DELETE FROM a;
SET autocommit = 0;
START TRANSACTION;
INSERT INTO a(id) VALUES(1);
ROLLBACK WORK;
SELECT COUNT(*) FROM a;
結果
count(*)
1
テーブルをInnoDBにする
クエリ
ALTER TABLE a ENGINE=INNODB;
クエリ
DELETE FROM a;
SET autocommit = 0;
START TRANSACTION;
INSERT INTO a(id) VALUES(1);
ROLLBACK WORK;
SELECT COUNT(*) FROM a;
結果
count(*)
----------
0