sql >> Database >  >> RDS >> PostgreSQL

Transacties werken niet voor mijn MySQL DB

Waarschijnlijk is de tabel gemaakt met de MyISAM-opslagengine als standaard. MyISAM-opslagengine ondersteunt geen transacties.

Tafel maken

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

Zoekopdracht

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

Resultaat

tel(*)

     1

De tafel InnoDB maken

Zoekopdracht

ALTER TABLE a ENGINE=INNODB; 

Zoekopdracht

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

Resultaat

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



  1. De ALTER TABLE-instructie was in strijd met de FOREIGN KEY-beperking

  2. Een reeks getallen genereren in MySQL

  3. Verschillende abonnementen voor identieke servers

  4. Hoe converteer ik een string tot nu toe in MySQL?