[英]Why can I use INSERT without any START TRANSACTION nor COMMIT/ROLLBACK with autocommit = 0 in mysql?
因此,我试图更多地了解 MySQL 中的自动提交语句,但在使用SET autocommit = 0;
之后,我无法理解为什么。 并尝试在没有任何START TRANSACTION
且最后没有COMMIT/ROLLBACK
的情况下运行INSERT
,它仍将其插入表中?
据我了解,如果自动提交等于 1,它将自动提交,因此它会有意义,但我将自动提交设置为零,因此如果我不使用任何START TRANSACTION
和COMMIT
或ROLLBACK
块包围插入它不应该工作正确的?
我知道有一些 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
有任何想法吗?
提前致谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.