当前位置: 首页 > news >正文

公众号做微网站吗网站租用空间价格

公众号做微网站吗,网站租用空间价格,帮别人做网站后期维护,海林建设局网站1. 事物的定义及特性 事务是一组操作数据库的SQL语句组成的工作单元#xff0c;该工作单元中所有操作要么同时成功#xff0c;要么同时失败。事物有如下四个特性#xff0c;ACID简称“酸性”。 1#xff09;原子性#xff1a;工作单元中所有的操作要么都成功#xff0c;要…1. 事物的定义及特性 事务是一组操作数据库的SQL语句组成的工作单元该工作单元中所有操作要么同时成功要么同时失败。事物有如下四个特性ACID简称“酸性”。 1原子性工作单元中所有的操作要么都成功要么都不成功不会出现部分成功的情况。 2一致性工作完成其结果应与预期一致比如由A账户向B账户转账的事物若该事物执行成功则必须保证A账户转出多少钱,B账户相应转入多少钱若该事物失败则此次转账即失败。事物的其它三个性质都是为了保证该一致性的。 3隔离性隔离性还可以称为并发控制、可串行化、锁等。事物中所操作的数据要隔离起来以防止其他用户访问这些数据而带来的不一致情况。 4持久性事务一旦提交其所做的修改就会永久保存到数据库中即使数据库发生故障也不应该对其有任何影响。 事务的持久性不能做到100%的持久只能从事务本身的角度来保证永久性而一些外部原因导致数据库发生故障如硬盘损坏那么所有提交的数据可能都会丢失。 2. MySQL中开启事务的方法 2.1.方法一 用BEGIN或START TRANSACTION来开启一个事物COMMIT或ROLLBACK来结束该事物。 -- 保存点 savepoint begin declare is_error int default false;#是否出错的标志 declare continue handler for sqlexception set is_errortrue;#声明异常处理程序如果sql异常则把标志为设置为true start TRANSACTION;#开启事务则会同时失败同时成功 savepoint s1;#创建保存点 insert into employee(id,name,salary) values(146,cq,9000); savepoint s2; insert into employee(id,name,salary) values(101,cq,9000); insert into employee(id,name,salary) values(102,cq,9000); if is_error THEN rollback to savepoint s1;-- 还原到s1 insert into employee(id,name,salary) values(151,cq,9000); insert into employee(id,name,salary) values(152,cq,9000); commit; end if; end; View Code 2.2.方法二 关闭自动提交设置SET AUTOCOMMIT  0该语句后的所有操作都将变成事物操作而且关闭自动提交的情况下每个事物结束其后续操作都将开启新的事物。 set autocommit0;#关闭自动提交 #因为关闭了自动提交事务则添加数据不会保存到数据库中 insert into employee(id,name,salary) values(143,cq,9000); commit;#手动提交所有未执行的数据 #由于是关闭自动提交的方式开启的事务所以每个事物结束其后的操作自动开启新的事物 insert into employee(id,name,salary) values(258,wd,8000); #该操作属于新启的事物 3. 事物的隐式提交 由于事物不能被嵌套所以当新事物开启时其前的旧事物会被隐式提交。如下情况会导致事物被隐式提交 1)新事物的开启会导致旧事物的隐式提交 START TRANSACTION; INSERT INTO dm_性别(性别名称) VALUES(不限);#该操作会被隐式提交 START TRANSACTION; INSERT INTO dm_性别(性别名称) VALUES(男女); ROLLBACK; 2)InnoDB中所有的DDL或DCL操作都会开启一个新的事物所以DDL或DCL语句会导致旧事物的隐式提交 SET AUTOCOMMIT 0;#利用法二关闭自动提交来开启事务 BEGIN; INSERT INTO t1 VALUES (1); #该DDL语句会导致其前面的插入操作隐式提交 并开启一单一的事物 CREATE TABLE t2 (pk int primary key); INSERT INTO t2 VALUES (2); #自动开启新的事物 ROLLBACK; #插入表t1的数据已提交仅能回滚插入表t2的操作 3)过程的执行区结束End之前会有一次隐式提交 BEGIN START TRANSACTION; INSERT INTO dm_性别(性别名称) VALUES(不限); INSERT INTO dm_性别(性别名称) VALUES(男女); END #在此之前会导致事物的隐式提交 4. 有关事物操作的注意事项 ①  存储过程的执行区Begin会开启一个事物执行区结束End会隐式提交一次 BEGIN INSERT INTO dm_性别(性别名称) VALUES(不限); INSERT INTO dm_性别(性别名称) VALUES(男女); ## COMMIT隐式提交该执行区域的操作 END ②  不要在事物的中途进行提交操作一方面会破坏事物的原子性 另一方面该事物会到此结束 create table testproc(id int(4) primary key, name varchar(100)); #测试过程 CREATE PROCEDURE test_proc_ins( IN i_id INT, IN i_name VARCHAR(100) ) BEGIN start transaction; #本意是将两次插入操作捆绑成一个事物 INSERT INTO testproc VALUES (i_id, i_name); COMMIT;#由于中途提交导致该事物提交前结束其后的操作不再是事物操作INSERT INTO testproc VALUES (i_id, i_name); #这里故意违反主键约束 ROLLBACK;#由于第一条插入数据的操作已提交故这里的ROLLBACK无效 END; ③  由于DDL或DCL操作会创建新的事物这导致其前的操作会隐式提交从而破坏事物的原子性所以尽量不要在过程中使用DDL或DCL语句。而且在过程中使用DDL或DCL语句的语法是比较复杂的所以不建议在过程中使用DDL或DCL语句。 SET AUTOCOMMIT 0; BEGIN; INSERT INTO t1 VALUES (1); #该DDL语句开启新事物会隐式提交其前的事物 CREATE TABLE t2 (pk int primary key);INSERT INTO t2 VALUES (2); ROLLBACK; SHOW TABLES ④  Start Transaction(Begin)与闭自动提交开启事务的区别 Start Transaction只开启了一个当前事物该事物结束其后的操作将不再是事物操作但关闭自动提交的方式开启事务每个事物结束其后的操作自动默认为新的事物操作。 ⑤  MySQL的事务支持不是绑定在MySQL服务器本身而是与存储引擎相关 1.MyISAM不支持事务用于只读程序提高性能 2.InnoDB支持ACID事务、行级锁、并发 3.Berkeley DB支持事务  转载于:https://www.cnblogs.com/leiblog/p/9298225.html
http://www.yutouwan.com/news/318217/

相关文章:

  • 如何备份网站网站做营销推广的公司
  • 商丘网站建设推广渠道企业网站建设的意义
  • 票务网站开发端口iis网站目录权限
  • 做灯饰的企业都会在哪些网站网站设计规划说明书
  • 网站推广哪个平台好中英文网站栏目修改
  • 海南网站优化公司广州市网络预约出租汽车综合业务管理平台
  • 新做的网站怎样让百度收录金华网站建设公司
  • 上海市网站建设公司58wordpress 猫
  • 自适应自助建站网站人才招聘网站建设
  • 外贸网站搜索引擎优化方法杭州网站建设app
  • 绍兴网页设计优化师是一份怎样的工作
  • 做网站源码需要多少钱泊头在哪做网站比较好
  • 搜狗网站做滤芯怎么样营销型企业网站功能
  • 江西网站建设与推广湛江网站建设外包
  • 做网站注意设么专业网站制作推荐
  • 湛江公司做网站景德镇陶瓷学院校友做网站的
  • 深圳公司网站开发苏州网站开发建设公司
  • 用vs2010做免费网站模板下载地址模板网站怎么修改
  • 怎么创立网站购物网站 怎么做
  • 宿州做网站做网站一个月能挣多少钱
  • 渝北集团网站建设商城成品网站
  • 社区网站设计制作空间主页网站
  • 2017淘宝客网站怎么做惠州个人做网站联系人
  • 专注高密做网站的网站开发好学嘛
  • 怎样在各大网站发布信息电商网店代运营
  • asp网站密码做黄金的经常看什么网站
  • 谷歌seo外链东莞优化seo网站关键词优化
  • 韶关公司做网站app开发费用标准
  • 建设pc 移动网站seo服务器选择
  • 哪里有免费做网站国外 创意 网站