mysql 中delimiter怎么来创建一个事务

mysql 中delimiter怎么来创建一个事务,第1张

在cmd命令提示符下输入

mysql-uroot-p回车,然后输入密码回车

进入mysql命令行模式

createdatabasedatabasename//创建数据库

usedatabasename//使用数据库

createtabletablename(

idintnotnullprimarykey

)

这样就创建了一个只有id字段的tablename表

1、启动Navicat for MySQL,新建数据库连接,打开数据库,可能有点啰嗦。

2、可以先查看定时任务的是否开启。通过以下命令:show variables like '%sche%'

3、如果其设置值为为 OFF 或 0 ,通过执行下列语句,来开启event_scheduler,set global event_scheduler =1,把设置为设为ON 或 1。

4、新建一个函数 ,取名为update_qiandao ,内容为 UPDATE week7_user SET isqiandao = 0

5、参照上图,新建一个事件 ,在定义里写 call update_qiandao() --也就是之前定义的函数

在“计划”选项卡中设置 执行时间,这里我选择的是每天。

MYSQL 事务处理主要有两种方法

1、用 begin, rollback, commit 来实现

begin 或/ start transaction )开始一个事务

rollback 事务回滚

commit 事务确认

2、直接用 SET 来改变 MySQL 的自动提交模式:

set autocommit=0 禁止自动提交

set autocommit=1 开启自动提交

1.不管 autocommit 是1还是0

start transaction 后,只有当 commit 数据才会生效, rollback 后就会回滚。

2、当 autocommit 为 0 时

不管有没有 start transaction .

只有当 commit 数据才会生效, rollback 后就会回滚。

3、如果 autocommit 为1 ,并且没有 start transaction .

调用 rollback 是没有用的。因为事务已经自动提交了。

事务测试1

事务测试2

flag 相当一定义这个保存点的名字

savepoint flag : savepoint 允许在事务中创建一个保存点,一个事务中可以有多个savepoint ;

release savepoint flag :删除一个事务的保存点,当没有指定的保存点时,执行该语句会抛出一个异常;

rollback to flag :把事务回滚到标记点;

set transaction :用来设置事务的隔离级别。InnoDB存储引擎提供事务的隔离级别有

READ UNCOMMITTED 、 READ COMMITTED 、 REPEATABLE READ 和 SERIALIZABLE

select @@transaction_isolation

SELECT @@SESSION.transaction_isolation, @@SESSION.transaction_read_only


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8369788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存