事务还未结束数据库里的数据会被修改吗?
1.不会,事务没结束就不会对数据库造成任何影响
2.会,事务的每一条sql都会对数据库造成影响,但是一旦中间出现了错误,就会
回滚,将数据库还原到事务开始时的状态。回滚就是还原。
3.上面都不对。 求解。
https://blog.csdn.net/weixin_44810786/article/details/90166577
单条sql执行时,数据库默认开启并提交事务。多条sql同时执行,定义为一个事务时,需要在sql中开始事务,全部成功执行后,commit提交,不commit数据库也会自动提交。
事务没有结束会对数据库造成影响,只是不是显像影响。开启一个事务后,事务执行中报错,数据库不会自动回滚或者提交,所有已经执行的语句会有状态标记,等待你手动执行回滚或者提交。
手动执行commit提交,已执行的正确语句,修改的数据,会正常入库或者执行。手动执行rollback回滚,系统会回滚已经执行的数据,至原始状态,但是,这里如果是insert语句,则会产生数据碎片,占用空间。