mysql数据库添加添加事务处理的方法

  • A+
所属分类:数据库

开始首先说明一下,mysql数据库默认的数据库引擎是MyISAM,是不支持事务的,单数如果你添加了数据执行语句是不会出错的,单数不管用,即便是回滚事务,记录也是插入进去了,所有首先我们要做的第一步是更改数据库引擎

语句如下:alter table tableName engine=InnoDB;

用到的表

  1. CREATE TABLE IF NOT EXISTS `test` (
  2. `id` int(10) NOT NULL auto_increment,
  3. `websitename` varchar(200) character set utf8 NOT NULL,
  4. `websiteurl` varchar(200) character set utf8 NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

第二不就是如果和添加事物:

  1. <?php
  2. $con = mysql_connect("localhost""root""vertrigo");
  3. //开始事务 
  4. mysql_db_query("mysqlnew","BEGIN");
  5. $insertSql ="insert into test(websitename,websiteurl)values('很文博客','//www.80mt.com')";//该记录插入数据库
  6. mysql_db_query("mysqlnew",$insertSql);
  7. $insertSql ="insert into test(websitename,websiteurl)values('百度','http://www.baidu.com')";//该记录插入数据库
  8. mysql_db_query("mysqlnew",$insertSql);
  9. //结束事务事务 
  10. mysql_db_query("mysqlnew","COMMIT");
  11. //开始事务 
  12. mysql_db_query("mysqlnew","BEGIN");
  13. $insertSql ="insert into test(websitename,websiteurl)values('google','http://www.google.com.hk')";//该记录不插入数据库
  14. mysql_db_query("mysqlnew",$insertSql);
  15. //结束事务事务 
  16. mysql_db_query("mysqlnew","ROLLBACK");
  17. //开始事务 
  18. mysql_db_query("mysqlnew","BEGIN");
  19. $insertSql ="insert into test(websitename,websiteurl)values('bing','http://www.bing.com')";//该记录不插入数据库
  20. mysql_db_query("mysqlnew",$insertSql);
  21. ?>

插入的数据

id websitename websiteurl

1 很文博客 //www.80mt.com

2 百度 http://www.baidu.com