最近在群里有人说,单条SELECT算做事务!我问他,你这个SELECT是就单独执行一条语句,还是在一组事务语句中(BEGIN…END)呢?他说就是一条普通的单独查询语句,我说那不是,他又问为什么不是呢?
首先我们来看对于事务的定义:
事务是由一条SQL语句,或者一组SQL语句组成的程序执行单元,要么全部成功,要么全部失败
根据定义来看,单条SELECT确实可以算作事务,但是前提需要看这条语句的环境,是在一组事务语句中还只是单纯的查询而已,在结合事务的4个特性,结果就会一目了然!
给那个哥们解释完后,那家伙恍然大悟,连说明白了!
最后:祝大家五一劳动节快乐!