sql >> Database teknologi >  >> RDS >> Mysql

Er indlejrede transaktioner tilladt i MySQL?

InnoDB understøtter SAVEPOINTS .

Du kan gøre følgende:

CREATE TABLE t_test (id INT NOT NULL PRIMARY KEY) ENGINE=InnoDB;

START TRANSACTION;

INSERT
INTO    t_test
VALUES  (1);

SELECT  *
FROM    t_test;

 id
---
  1

SAVEPOINT tran2;

INSERT
INTO    t_test
VALUES  (2);

SELECT  *
FROM    t_test;

 id
---
  1
  2

ROLLBACK TO tran2;

SELECT  *
FROM    t_test;

 id
---
  1

ROLLBACK;

SELECT  *
FROM    t_test;

 id
---


  1. UnicodeEncodeError:'latin-1' codec kan ikke indkode tegn

  2. På jagt efter hurtig lokal opbevaring

  3. Er det muligt for SQL Output-sætning at returnere en kolonne, der ikke er indsat?

  4. Brug af SQL til at bestemme ordtællingsstatistikker for et tekstfelt