26_事务语法

1.建表时,引擎选用innodb	##表的默认引擎就是innodb,不写engine=innodb时,也支持事务。
2.开启事务引擎 start transaction
3.写要用的sql语句
4.提交commit  或者回滚 rollback

注意:commit/rollback后,开启的事务就结束了。

注意:有一些语句会造成事务的隐式的提交,比如 start transaction

------------------------

create table thing(
id int,
name char(5),
money int
)engine=innodb charset utf8;	#表的默认引擎就是innodb,不写engine=innodb时,也支持事务。

insert into thing values
(1,"张三",3000),
(2,"李四",3000);

start transaction;
update thing set money=money-500 where id=1;
update thing set money=money+500 where id=2;
commit;

----------------------------------
建表时,engine=myisam,那么就不支持事务:

create table myisamThing(
id int primary key auto_increment,
name char(6),
money int not null default 3000)engine=myisam charset utf8;

insert into myisamThing 
(name)
values
("张三"),
("李四");
时间: 2024-08-29 18:49:47

26_事务语法的相关文章

SQL Server 事务语法

事务全部是关于原子性的.原子性的概念是指可以把一些事情当做一个单元来看待.从数据库的角度看,它是指应全部执行或全部都不执行的一条或多条语句的最小组合. 为了理解事务的概念,需要能够定义非常明确的边界.事务要有非常明确的开始和结束点.SQL Server中的每一条SELECT.INSERT.UPDATE和DELETE语句都是隐式事务的一部分.即使只发出一条语句,也会把这条语句当做一个事务-要么执行语句中的所有内容,要么什么都不执行.但是如果需要的不只是一条,可能是多条语句呢?在这种情况下,就需要有

SqlServer事务语法及使用方法

事务是关于原子性的.原子性的概念是指可以把一些事情当做一个不可分割的单元来看待.从数据库的角度看,它是指应全部执行或全部不执行的一条或多条语句的最小组合. 为了理解事务的概念,需要能够定义非常明确的边界.事务要有非常明确的开始和结束点.SqlServer中的每一条select.insert.update.delete语句都是隐式事务的一部分.即使只发出一条语句,也会把这条语句当做一个事务-或执行语句的所有内容或什么都不执行.但是如果需要的不只是一条,而是多条语句呢?在这种情况下,就需要有一种方法

事务语法

Public Sub RunSqlTransaction(myConnString As String)     Dim myConnection As New SqlConnection(myConnString)     myConnection.Open()         Dim myCommand As SqlCommand = myConnection.CreateCommand()     Dim myTrans As SqlTransaction         ' Start

数据库-事务和锁

事务 所谓事务是用户定义的一个数据库操作系列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位.例如在关系数据库中,一个事务可以是一条sql语句.一组sql语句或整个程序. 给个栗子: 小IT在网上购物,其付款过程至少包括以下几步数据库操作: 更新客户所购商品的库存信息: 生成订单并且保存到数据库: 更新用户相关信息,例如购物数量等: 正常情况下,操作顺利进行,最终交易成功,那么与交易相关的所有数据库信息也成功更新.但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存

019.事务

事务是啥?TRANSACTION是单个逻辑单元,可以执行一系列操作.这些操作作为一个整体一起向系统提交,要么都执行,要么都不执行.事务是一个不可分割的逻辑单元.CREATE TABLE BANL(CARID varchar(10),NAME VARCHAR(20),BALANCE MONEY CHECK(BALANCE>1))INSERT INTO BANL VALUES('C001','张三',1000),('C002','李四',2000)--使用事务模拟转账--开始事务BEGIN TRAN

Redis事务的应用

redis对事务的支持目前还比较简单.redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令. 由于redis是单线程来处理所有client的请求的所以做到这点是很容易的.一般情况下redis在接受到一个client发来的命令后会立即处理并 返回处理结果,但是当一个client在一个连接中发出multi命令有,这个连接会进入一个事务上下文,该连接后续的命令并不是立即执行,而是先放到一 个队列中.当从此连接受到exec命令后,redis会顺序的执行

SQL里面的事务

--事务:是一种处理机制,一种处理方式,并不是一个实际的操作.包含在事务内的所有有可能修改表数据的操作,要么都能成功执行,要么都不执行.--转帐:你的帐户余额减少,对方帐户余额增加--begin--update bank set cmoney-=1000 where name='aa'--update bank set cmoney+=1000 where name='bb'--end--print @@error --只是找到最近一语句的错误号--事务的特点:ACID:--A:原子性:事务是一

SQL SERVER之事务

 在实际对数据库的使用中,会出现多个用户同时对某一张表进行操作,当多个用户在同一时间对同一张数据表进行读取或者修改操作时,若处理不当就有可能发生冲突问题.为了解决这样的问题,就需要使用事务的控制和管理机制. 事务 单个逻辑工作单元执行操作的集合,也可以看作是多条语句封装的结果.通过事务可以保证数据表中数据的一致性. 事务的特性 原子性 是指事务中所有的执行操作,要么全部成功,要么不执行.如在商场购物中,管理员同时对用户进行充值操作. 修改账户A中的现金数. 修改账户A中的现金数 如果在执行第

存储过程语法及实例

存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程create procedure sp_name()begin.........end 二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递 三.删除存储过程1.基本语法:drop procedure sp_name// 2.注意事项(1