sql >> Base de Datos >  >> RDS >> PostgreSQL

Las transacciones no funcionan para mi base de datos MySQL

Probablemente la tabla se crea con el motor de almacenamiento MyISAM por defecto. El motor de almacenamiento MyISAM no admite transacciones.

Crear tabla

CREATE TABLE a ( id SERIAL PRIMARY KEY) ENGINE = MYISAM;

Consulta

DELETE FROM a;
SET autocommit = 0;
START TRANSACTION;
INSERT INTO a(id) VALUES(1);
ROLLBACK WORK;
SELECT COUNT(*) FROM a;

Resultado

cuenta(*)

     1

Haciendo la tabla InnoDB

Consulta

ALTER TABLE a ENGINE=INNODB; 

Consulta

DELETE FROM a;
SET autocommit = 0;
START TRANSACTION;
INSERT INTO a(id) VALUES(1);
ROLLBACK WORK;
SELECT COUNT(*) FROM a;

Resultado

count(*)  
----------
         0