首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL事务部分滚-滚到指定保存点「建议收藏」

我们可以在mysql事务处理过程中定义保存点(SAVEPOINT),然后滚到指定的保存点前的状态。 定义保存点,以及滚到指定保存点前状态的语法如下。...定义保存点—SAVEPOINT 保存点名; 滚到指定保存点—ROLLBACK TO SAVEPOINT 保存点名: 下面演示将向表user中连续插入3条数据,在插入第2条数据的后面定义一个保存点,最后看看能否滚到此保存点...1、查看user表中的数据 mysql> select * from user; +—–+———-+—–+——+ | mid | name | scx | word | +—–+———-+—–+——+...事务开始 mysql> BEGIN; Query OK, 0 rows affected (0.00 sec) 3、向表user中插入2条数据 mysql> INSERT INTO user VALUES...| 3 | one | 0 | | | 4 | two | 0 | | | 5 | three | 0 | | +—–+———-+—–+——+ 5 rows in set (0.02 sec) 6、滚到保存点

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql binlog数据

    1.先开启binlog log-bin = /var/log/mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的...xxx/xxx路径下,如果只配置mysql_bin的话默认在C:\ProgramData\MySQL\MySQL Server 5.7\Data下; binlog_format = ROW #binlog...日志格式,默认为STATEMENT:每一条SQL语句都会被记录;ROW:仅记录哪条数据被修改并且修改成什么样子,是binlog开启并且能恢复数据的关键; expire_logs_days= 10 #binlog...danfengcao/binlog2sql.git && cd binlog2sql cd binlog2sql pip install -r requirements.txt 3.测试在一张表里删除了数据和更新了数据以后...show binlog events in 'mysql-bin.000352' 5.用binlog2sql打印出sql语句和逆向滚的sql语句,保存并导入 python binlog2sql.py

    5.9K20

    git使用教程8-pycharm 使用 Reset 滚到某次 commit 提交

    reset 滚有三种类型: Mixed 此为默认方式 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响) soft 回退一个版本,不清空暂存区...可以看到上一次的提交是昨天晚上的记录,我想回退到3月7号的这次 commit 的代码上, commit的提交内容是fz。 ?...先记住commit提交的id,也就是第一列显示的”916929a” Reset HEAD 打开pycharm-VCS-Git-Reset HEAD 滚当前的分支yoyoketang ?...滚之前可以先点下 Validate 按钮确定下有没这个commit id ? 点Reset 之后就可以滚成功啦 ?...恢复到最新的 前面已经滚到3月7号的commit这次提交的内容上,如果我们又想回到最新的代码,可以查看commit log记录查看到commit id为”2932c8c” 打开pycharm-VCS-Git-Show

    3.5K31

    MySQL 的FLASHBACK 数据

    数据库的里面的FLASHBACK 功能是一个让人刮目相看的功能,如果你做错了什么怎么能将那段时间的数据恢复,并且还让生产的应用不停止,这是一个数据库管理员都想拥有的功能, SQL SERVER 需要借助第三方软件的功能...,可以完成数据滚和恢复,ORACLE 独有的FLASHBACK 功能,以及POSTGRESQL 的pg_dirtyread 功能,都可以从某些方面来进行数据滚和数据的找回。...MYSQL数据找回和滚使用的是BINLOG2SQL 这个开源的工具,其中的原理如果你懂得MYSQL的binlog 原理,则你会很快明白其可以恢复数据的方式。...如果你想产生滚的语句,直接在 上图语句的后面添加 flushback ?...,也是对每一条数据进行一个数据的记录 一句话所有的记录都是根据行来记录,而不是逻辑语句。

    3.1K30

    MySqlMySQL数据库--什么是MySQL表 ?

    专栏持续更新中:MySQL详解 一、背景 先要从 InnoDB 的索引实现说起,InnoDB 有两大类索引: 聚集索引(clustered index) 普通索引 (secondary index...二、什么是表查询?...比如上面的例子中,我根据username索引找到的只是一个username为admin这条数据的id而不是这条数据信息,所以要找到整条数据信息要根据得到的id再去找。...看完上面的流程,你应该已经发现问题了,我要通过username找到id,再根据id找整条数据,这里有两个查找过程,这是影响效率的。就像上面的两个查找过程就是表了。...六、总结 使用聚集索引(主键或第一个唯一索引)就不会表,普通索引就会表。

    28710

    MySQL】MyFlash mysql binlog

    简介: 数据库运行过程中难免会发生误操作,特别是在测试环境 开发人员或测试人员有时会误删或者更新错误某些数据。这时可以用binlog闪DML操作。...1.databaseNames 指定需要回滚的数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。 2.tableNames 指定需要回滚的表名。多个表可以用“,”隔开。...3.start-position 指定滚开始的位置。如不指定,从文件的开始处滚。请指定正确的有效的位置,否则无法滚 4.stop-position 指定滚结束的位置。如不指定,滚到文件结尾。...--binlogFileNames=/mysqllog/mysql-bin.000011 --start-datetime="2018-01-04 13:50:00" --stop-datetime=...output=decode-rows -vv binlog_output_base.flashback #执行恢复 mysqlbinlog binlog_output_base.flashback |mysql

    3.9K10
    领券