মাইএসকিউএল নেস্টেড লেনদেনের ব্যবহারের অনুমতি দেয়?
উত্তর:
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
---
মাইএসকিউএল ডকুমেন্টেশন থেকে:
লেনদেন বাসা বাঁধতে পারে না। এটি কোনও START লেনদেনের বিবৃতি বা এর কোনও প্রতিশব্দ ইস্যু করার সময় যে কোনও বর্তমান লেনদেনের জন্য সম্পাদিত অন্তর্নিহিত প্রতিশ্রুতির ফলাফল। https://dev.mysql.com/doc/refman/5.7/en/implic-commit.html