MySQL - 事务

MySQL - 事务 首页 / MySQL入门教程 / MySQL - 事务

事务是以逻辑顺序完成的单元或工作序列,无论是以用户的手动方式还是以某种数据库程序自动进行。

事务性质

事务具有以下四个标准属性,通常以首字母缩写 ACID 表示-

  • 原子性 -  这样可确保工作单元内的所有操作均成功完成;否则,事务将在失败时中止,并且先前的操作将回滚到以前的状态。

  • 一致性 -  这样可以确保数据库在成功提交事务后正确更改状态。

  • 隔离性 -  这使事务能够独立运行并且彼此透明。

  • 持久性 -  这样可以确保在系统故障的情况下,持久化事务的值仍存在。

在MySQL中,事务以语句 BEGIN WORK 开始,并以 COMMIT 或 ROLLBACK 语句结束,开头和结尾语句之间的SQL命令构成了事务的主体。

COMMIT和ROLLBACK

这两个关键字 Commit 和 Rollback 主要用于MySQL Transactions。

无涯教程网

  • COMMIT     - 成功完成事务后,应发出COMMIT命令,以便对所有涉及的表所做的更改都将生效。

  • ROLLBACK - 如果发生故障,则应发出ROLLBACK命令,以使事务中引用的每个表返回其先前状态。

当AUTOCOMMIT设置为0时,通过发出 SET AUTOCOMMIT=0 命令,需要通过Commit 提交事务。

您可以使用 mysqli_query()函数在PHP中执行这些SQL命令。

事务示例

您可以使用 mysqli_query()函数在PHP中执行这些SQL命令。

  • 通过发出SQL命令 BEGIN WORK 开始事务。

  • 发出一个或多个SQL命令,如SELECT,INSERT,UPDATE或DELETE。

  • 如果有任何错误,请发出ROLLBACK命令,否则发出COMMIT命令。

如果您的MySQL安装支持InnoDB表,只需在表创建语句中添加 TYPE=InnoDB 定义。

如,以下代码创建一个名为 tcount_tbl 的InnoDB表-

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> create table tcount_tbl
   -> (
   -> tutorial_author varchar(40) NOT NULL,
   -> tutorial_count  INT
   -> ) TYPE = InnoDB;
Query OK, 0 rows affected (0.05 sec)

有关InnoDB的更多详细信息,可以单击以下链接- InnoDB

您可以使用其他表类型,如 GEMINI 或 BDB ,但是它取决于您的安装,是否支持这两种表类型。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

推荐系统三十六式 -〔刑无刀〕

MongoDB高手课 -〔唐建法(TJ)〕

人人都能学会的编程入门课 -〔胡光〕

图解 Google V8 -〔李兵〕

To B市场品牌实战课 -〔曹林〕

程序员的测试课 -〔郑晔〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

零基础GPT应用入门课 -〔林健(键盘)〕

结构思考力 · 透过结构看表达 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)