因此,我试图了解有关MySQL中的autocommit语句的更多信息,并且在理解为什么为什么在使用SET autocommit = 0;
并尝试运行INSERT
没有任何START TRANSACTION
和否COMMIT/ROLLBACK
的结果后仍将其插入表中时遇到了一些麻烦?
据我了解,如果autocommit等于1,它将自动提交,因此这是有道理的,但是我将autocommit设置为零,因此,如果我不使用任何START TRANSACTION
with COMMIT
或ROLLBACK
阻塞替代insert,那它应该工作正常吗?
我知道有一些DML会自动提交,我也知道DDL语句也可以执行,但是在这种情况下,INSERT
似乎不是任何执行该操作的DML语句。
代码如下:
SET autocommit = 0;
SELECT @@autocommit; --It returns 0
-- No START TRANCATION
INSERT INTO example(first_name, last_name) VALUES ('TEST', 'TSET');
-- No COMMIT nor ROLLBACK
有任何想法吗?
提前致谢!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句