在mysql数据库中过程处置一个操作时呈现错误 , 不克不及完当作这个使命时 , 怎么解决数据库的数据回到以前状况呢?下面分享一个mysql事务的回滚操作 。 我写的经验对你进修mysql有帮忙的话 , 给我投票、点赞或者保藏!
1MYSQL数据库存储过程的动态SQL语句
1mysql数据库怎么备份和恢复数据
1mysql数据库对数据的加密于解密
需要这些哦
mysql5.6
sqlyog
方式/
1登录mysql , 在test数据库中新建一个表 , 输入数据:
Create Table
CREATE TABLE `shoufei` ( `id` int(11) NOT NULL AUTO_INCREMENT, `shijian` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `xiangmu` varchar(20) NOT NULL, `jiage` float NOT NULL, `shuliang` int(11) NOT NULL, `jine` float DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
文章插图
2在test数据库中成立一个“shiwu”的过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `shiwu`()
BEGIN
$$
文章插图
3在过程中界说sql语句的异常处置 , 若是发生异常就回滚到以前数据 , 而且退出当前语句块(begin ) 。
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
文章插图
4过程起头事务:START TRANSACTION;
文章插图
5在事务中把id=2的记实点窜为id=1 , 本家儿键独一性会发生错误 , 直接退出begin-.
UPDATE shoufei SET id=1 WHERE id=2;
文章插图
6接下来提交事务 , 若是提交当作功换回一个成果集'提交当作功!' , :
COMMIT;
SELECT '提交当作功!';
7执行过程:call shiwu();
点窜数据时有错误 , sql异常执行回滚ROLLBACK 。
文章插图
文章插图
8把点窜数据改为:
UPDATE shoufei SET id=6 WHERE id=2;
文章插图
9【mysql事务的回滚】再执行过程 , 事务当作功执行 , 把id改为6.
文章插图
文章插图
以上内容就是mysql事务的回滚的内容啦 , 希望对你有所帮助哦!
推荐阅读
- 如何更改图片的大小
- 如何在WPS中输入X2的立方
- 爱犬送寄养中心前的训练
- 边境牧羊犬的训练方法,驯服边牧的四个技巧
- 吉娃娃如何训练,驯服吉娃娃狗的三个要点
- 怎么训练狗狗不咬人,让狗狗学会不咬人的4个方法技巧
- 别再说日常穿搭没思路了!八套可照搬照抄的造型,每一套都很美
- 阻止爱犬捡食路上的食物
- 狗狗讨厌的声音都有哪些?
- 高考报名密码找回