संभवतः तालिका डिफ़ॉल्ट रूप से 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;
परिणाम
गिनती(*)
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