क्या MySQL नेस्टेड लेनदेन के उपयोग की अनुमति देता है?
क्या MySQL नेस्टेड लेनदेन के उपयोग की अनुमति देता है?
जवाबों:
InnoDB
समर्थन करता है SAVEPOINTS
।
आप निम्न कार्य कर सकते हैं:
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
---
MySQL प्रलेखन से:
लेन-देन को नस्ट नहीं किया जा सकता है। जब आप किसी START लेन-देन का विवरण या उसके किसी पर्यायवाची को जारी करते हैं, तो यह किसी भी मौजूदा लेनदेन के लिए की गई निहित कमिट का परिणाम होता है। https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html