Pravděpodobně je tabulka vytvořena s výchozím úložištěm MyISAM. Úložný stroj MyISAM nepodporuje transakce.
Vytvořit tabulku
CREATE TABLE a ( id SERIAL PRIMARY KEY) ENGINE = MYISAM;
Dotaz
DELETE FROM a;
SET autocommit = 0;
START TRANSACTION;
INSERT INTO a(id) VALUES(1);
ROLLBACK WORK;
SELECT COUNT(*) FROM a;
Výsledek
počet(*)
1
Vytvoření tabulky InnoDB
Dotaz
ALTER TABLE a ENGINE=INNODB;
Dotaz
DELETE FROM a;
SET autocommit = 0;
START TRANSACTION;
INSERT INTO a(id) VALUES(1);
ROLLBACK WORK;
SELECT COUNT(*) FROM a;
Výsledek
count(*)
----------
0