当前位置: 首页 > wzjs >正文

长葛网站建设公司广州网站优化排名

长葛网站建设公司,广州网站优化排名,html5开发app,建立自己的网页🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 1.什么需要为事务? 2.事务的四个特性 1. 原子性&#xff0…


 

🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客
🌅主页:猫咪-9527-CSDN博客 

“欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。”

目录

1.什么需要为事务?

2.事务的四个特性

        1. 原子性(Atomicity)

        2. 一致性(Consistency)

        3. 隔离性(Isolation)

        4. 持久性(Durability)

3.事务的引擎版本支持

4.事务的常见操作方式

4.1事务的提交方式

4.1.1查看当前的提交方式

​编辑 4.1.2改变当前的提交方式

 4.2事务的常见简单方式

4.2.1查看系统的默认隔离级别

 4.2.2创建测试表


1.什么需要为事务?

        事务的存在是为了保证数据的完整性、一致性、隔离性和持久性(即ACID原则),尤其在面对错误、并发和系统崩溃等不确定性时,能够确保数据库处于一个可靠和一致的状态。

  • 保证数据一致性
    • 如果在一个操作过程中,部分成功、部分失败,事务可以保证要么所有操作成功,要么所有操作都回滚,避免数据库处于不一致的状态。
  • 处理错误和异常
    • 在应用程序操作数据库时,可能会遇到各种意外情况,比如断电、网络问题等。事务能够在发生异常时保证数据库恢复到操作前的状态。
  • 简化并发控制
    • 多个用户同时操作数据库时,事务确保了并发操作的正确性,不会出现数据竞争或修改错误。比如两个用户同时修改同一条数据时,事务能够控制他们的操作顺序。
  • 提高程序可靠性
    • 对于开发者来说,事务提供了一种简化的编程模型,不需要编写复杂的错误处理逻辑。开发者只需关注如何设计业务逻辑,数据库的事务机制自动保证数据的一致性和完整性。

因此事务本质上是为了应用层服务而特别创建的,而不是伴随着数据库系统天生就有的。

2.事务的四个特性

        1. 原子性(Atomicity)
  • 事务中的一组操作要么全部成功,要么全部失败。如果在某个操作发生错误或中断,系统将回滚到事务开始时的状态,确保不会出现部分操作完成的问题。

        2. 一致性(Consistency)
  • 在事务开始前和结束后,数据库必须保持一致的状态。如果事务执行后数据不符合预设的约束条件(如外键、唯一性等),则事务会被回滚。

        3. 隔离性(Isolation)
  • 每个事务的执行不应受到其他事务的干扰,保证事务的执行过程是独立的。常见的并发问题包括脏读、不可重复读和幻读,隔离性解决了这些问题。

        4. 持久性(Durability)
  • 一旦事务提交,所有的更改都会永久保存在数据库中,即使系统崩溃也能恢复。

3.事务的引擎版本支持

在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务, MyISAM 不支持。

4.事务的常见操作方式

4.1事务的提交方式
  • 主动提交
  • 自动提交
4.1.1查看当前的提交方式
show variables like 'autocommit';
 4.1.2改变当前的提交方式
关闭自动提交开启自动提交
set autocommit=0;
set autocommit=1;

 4.2事务的常见简单方式

4.2.1查看系统的默认隔离级别
select @@tx_isolation;

 4.2.2创建测试表

创建表:

create table if not exists account(
id int primary key,
name varchar(50) not null default '',
blance decimal(10,2) not null default 0.0
)ENGINE=InnoDB DEFAULT CHARSET=UTF8;

开始事务:

方案一:

begin;

方案二:

start transaction;

简单回滚演示: 

Mysql当发生客户端崩溃时,未主动commit的事务,会主动回滚,不受是否自动提交的影响

主动提交未主动提交

数据存在数据回滚,丢失

自动提交开自动提交关

 

 

结论:

  • 只要输入begin或者start transaction,事务便必须要通过commit提交,才会持久化,与是否设置set autocommit无关。
  • 事务可以手动回滚,同时,当操作异常,MySQL会自动回滚
  • 对于InnoDB 每一条SQL 语言都默认封装成事务,自动提交。(select有特殊情况,MySQL 有MVCC )
  • 从上面的例子,我们能看到事务本身的原子性(回滚),持久性(commit)

事务操作注意事项

  • 如果没有设置保存点,也可以回滚,只能回滚到事务的开始。直接使用 rollback(前提是事务还没有提交)
  • 如果一个事务被提交了(commit),则不可以回退(rollback)
  • 可以选择回退到哪个保存点
  • InnoDB 支持事务, MyISAM 不支持事务
  • 开始事务可以使 start transaction 或者begin 
http://www.dtcms.com/wzjs/109294.html

相关文章:

  • 二十条优化疫情措施搜索引擎外部优化有哪些渠道
  • 建筑企业入渝备案查询关键词的优化方法
  • 设计吧 网站昆明排名优化
  • wordpress如何设置头像seo是什么及作用
  • 有什么办法可以在备案期间网站不影响seo网店代运营骗局
  • 海尔网站建设信息北京seo助理
  • 铜川市新区建设局网站高州网站seo
  • 四种常用的erp软件seo排名赚app下载
  • 域名绑了小程序还可以做网站吗网络营销岗位
  • 住房和城乡建设部的网站百度引擎
  • wordpress更改站点ip关键词优化营销
  • 建筑公司网站石家庄黄山seo排名优化技术
  • 花生壳 建设网站知乎推广优化
  • 广州市市委常委名单杭州seo网站建设靠谱
  • 东港区网站制作安卓优化大师下载安装到手机
  • 人人网站长工具seo综合查询怎么关闭
  • 如何利用路由建设网站seo网站推广技术
  • 做网站大优惠seo推广有哪些方式
  • 百度推广和哪些网站有合作自己怎样开网站
  • 网站建设佰首选金手指十八营销型网站优化
  • 做配电柜在哪个网站发布信息天津网站排名提升多少钱
  • 接视频做的网网站营销型网站案例
  • 如何用wp做企业网站网店如何引流与推广
  • 衡水市住房和城乡规划建设网站站长工具查询官网
  • 动态网站代码设计网络营销的背景和意义
  • 某某网站建设策划书2000字搜百度盘
  • 弓长岭网站建设如何快速推广一个新产品
  • wordpress手机导航栏设置唐山seo
  • 运行网站需要多少钱软考培训机构哪家好一点
  • 阿里巴巴做网站的电话号码最火的推广软件