sql >> Databáze >  >> RDS >> PostgreSQL

Transakce nefungují pro moji databázi MySQL

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



  1. Zápis IDEF1X

  2. Membership.ValidateUser vždy vrátí hodnotu false po upgradu na VS 2010 / .NET 4.0

  3. Opakujte řetězec vícekrát v MySQL – REPEAT()

  4. Jak vytvořit uživatele s PSQL