mysql 只有start transaction 才开启一个事务吗?平时的select和update 都是没有事务的吗?

如果不执行start transaction的mysql 增删改查就是是不存在事务的吗?

阅读 9.3k
2 个回答
  • 以下回答的前提是你使用的存储引擎是 Innodb
  • Remember that even a SELECT statement opens a transactionMysql 文档
  • 你可以用一个闲置的 mysql 服务器做一个小实验:

    • step1: SET autocommit = 0; — 关闭自动提交;
    • step2: SELECT * FROM table_name; — 执行查询语句 ;
    • step3: SELECT * FROM information_schema.INNODB_TRX; — 查看正在运行的事务,此时你应该会看到一条记录,这条记录的 TRX_STARTED 就是 step2 的执行时间;
    • step4: COMMIT; — step3 产生的那条记录消失。

平常用事务,是为了保证你的一系列操作是执行还是不执行。而单条ud的操作。等同于事务。懂我意思吧?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏