所以我想更多的了解MySQL中的autocommit语句,我有一些不明白的地方,为什么在我使用了 SET autocommit = 0;
并尝试运行 INSERT
毫无 START TRANSACTION
而不 COMMIT/ROLLBACK
最后还是会把它插入到表中?
对于我的理解,如果自动提交等于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
有什么办法吗?
先谢谢你了!