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

如何做https网站网站权重

如何做https网站,网站权重,小程序开发公司哪家好?哪家最好?,企业网站建设的经验心得跟韩学AiOps系列之2025学MySQL系列_如何在MySQL中开启和提交事务?! 文章目录 一、事务的基本操作1. 开启事务2. 执行事务内操作3. 提交事务4. 回滚事务 二、验证示例(适用于 MySQL 5.7)步骤 1:准备测试表和数据步骤 2&#xff1a…

跟韩学AiOps系列之2025学MySQL系列_如何在MySQL中开启和提交事务?!

文章目录

      • 一、事务的基本操作
        • 1. 开启事务
        • 2. 执行事务内操作
        • 3. 提交事务
        • 4. 回滚事务
      • 二、验证示例(适用于 MySQL 5.7)
        • 步骤 1:准备测试表和数据
        • 步骤 2:执行转账事务
        • 验证结果
      • 三、自动提交模式
        • 1. 查看当前自动提交状态
        • 2. 关闭自动提交
        • 3. 重新开启自动提交
      • 四、完整示例(含回滚)
      • 五、关键注意事项
      • 六、事务的典型应用场景

在 MySQL 中,事务的开启和提交是保证数据一致性的核心操作。以下是清晰的操作步骤和示例:


一、事务的基本操作

1. 开启事务

有两种方式显式开启事务:

  • 方式 1:使用 START TRANSACTION
    START TRANSACTION; -- 开始事务
    
  • 方式 2:使用 BEGIN
    BEGIN; -- 与 START TRANSACTION 等效
    
2. 执行事务内操作

在事务内可以执行任意 SQL 操作(DML语句):

UPDATE accounts SET balance = balance - 100 WHERE user_id = 1; -- 扣款
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2; -- 收款
SELECT * FROM accounts; -- 查询数据状态(此时数据尚未持久化)
3. 提交事务

将事务内的所有操作永久生效:

COMMIT; -- 提交事务,数据写入磁盘
4. 回滚事务

取消事务内的所有操作:

ROLLBACK; -- 回滚事务,撤销未提交的修改

二、验证示例(适用于 MySQL 5.7)

步骤 1:准备测试表和数据
-- 创建测试表
CREATE TABLE accounts (user_id INT PRIMARY KEY,balance DECIMAL(10,2)
) ENGINE=InnoDB; -- 必须使用 InnoDB 引擎-- 插入测试数据
INSERT INTO accounts (user_id, balance) VALUES
(1, 500.00),
(2, 0.00);
步骤 2:执行转账事务
-- 开启事务
START TRANSACTION;-- 从用户1扣款100元
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;-- 向用户2收款100元
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;-- 提交事务(只有提交后数据才持久化)
COMMIT;
验证结果
SELECT * FROM accounts;
-- 结果:
-- user_id=1, balance=400.00
-- user_id=2, balance=100.00

三、自动提交模式

MySQL 默认启用自动提交(每条 SQL 单独作为一个事务):

1. 查看当前自动提交状态
SELECT @@autocommit; -- 返回 1 表示启用,0 表示禁用
2. 关闭自动提交
SET autocommit = 0; -- 关闭自动提交

此时需手动执行 COMMITROLLBACK

3. 重新开启自动提交
SET autocommit = 1; -- 重新启用自动提交

四、完整示例(含回滚)

-- 关闭自动提交
SET autocommit = 0;-- 开启事务(可选,BEGIN 也可)
START TRANSACTION;-- 用户1尝试扣款200元
UPDATE accounts SET balance = balance - 200 WHERE user_id = 1;-- 发现余额不足(假设余额不能为负),主动回滚
ROLLBACK; -- 所有修改撤销-- 重新开启自动提交
SET autocommit = 1;

五、关键注意事项

  1. 存储引擎:只有 InnoDB 支持事务(MyISAM 不支持)。
  2. 隔离级别:事务的可见性由隔离级别控制(默认 REPEATABLE READ)。
  3. 锁机制:事务中的操作可能隐式或显式加锁(如 SELECT ... FOR UPDATE)。
  4. 长事务风险:避免未及时提交的事务长时间持有锁,导致性能问题。

六、事务的典型应用场景

  • 转账操作:扣款和收款需原子性保证。
  • 订单创建:创建订单与扣减库存要一致。
  • 批量数据处理:确保批量操作的完整性。

通过合理使用事务,可以确保复杂操作的数据一致性!

http://www.dtcms.com/wzjs/118337.html

相关文章:

  • 成都专业网站建设价格低友情链接百科
  • 如何用ps做网站效果图深圳网络推广公司
  • 去哪里找做网站 的客户简述如何优化网站的方法
  • 重庆网站推广服务网络营销模式下品牌推广途径
  • wordpress插件+七牛凤山网站seo
  • 太原市建设工程质量监督站网站技术培训机构
  • 网站开发人员定罪案例市场营销案例100例
  • 响应式网站开发视频安卓优化大师手机版下载
  • 如何写网站建设方案书网站优化策略
  • 盐山做网站的网络推广的渠道有哪些
  • 网站建设的重要百度搜索智能精选入口
  • wordpress无法连接数据库连接seo分析及优化建议
  • 上海松江区做网站的公司五年级下册数学优化设计答案
  • wordpress首页页面设置seo刷排名公司
  • 游戏网站建设网站模板平台
  • 新乡商城网站建设价格免费发布信息不收费的网站
  • 网站建设朋友圈广告搜索引擎营销的英文缩写是
  • 泰安网站设计公司微信小程序怎么做
  • wordpress静态资源分离seo优化思路
  • 网站建设平台选用分析朝阳区seo搜索引擎优化怎么样
  • 远程教育网站建设技能培训网
  • 深圳商城网站设计多少钱色目人
  • wordpress 取一类文章厦门seo顾问屈兴东
  • 当今做那些网站能致富韶关疫情最新消息
  • 商城网站 搭建新闻投稿
  • 用模板做的网站不好优化自己怎么做网页推广
  • 六安网约车资格证在哪里办seo快速上排名
  • 网站建设简单吗全国十大教育机构
  • 做国际贸易如何建网站网页模板图片
  • 做电影网站如何不侵权百度经验官网登录