日期:2014-05-16  浏览次数:20766 次

mysql 添加添加事务处理

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

用到的表

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

--

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

<?php
$con = mysql_connect("localhost", "root", "vertrigo");
//开始事务
mysql_db_query("mysqlnew","BEGIN");

$insertSql ="insert into test(websitename,websiteurl)values('400电话 ','http://www.my400800.cn')";//该记录插入数据库
mysql_db_query("mysqlnew",$insertSql);
$insertSql ="insert into test(websitename,websiteurl)values('百度 ','http://www.baidu.com')";//该记录插入数据库
mysql_db_query("mysqlnew",$insertSql);

//结束事务事务
mysql_db_query("mysqlnew","COMMIT");
//开始事务
mysql_db_query("mysqlnew","BEGIN");
$insertSql ="insert into test(websitename,websiteurl)values('google ','http://www.google.com.hk')";//该记录不插入数据库
mysql_db_query("mysqlnew",$insertSql);
//结束事务事务
mysql_db_query("mysqlnew","ROLLBACK");
//开始事务
mysql_db_query("mysqlnew","BEGIN");
$insertSql ="insert into test(websitename,websiteurl)values('bing ','http://www.bing.com')";//该记录不插入数据库
mysql_db_query("mysqlnew",$insertSql);
?>

插入的数据

id ??? websitename ??? websiteurl
1 ??? 400电话 ??? http://www.my400800.cn
2 ??? 百度 ??? http://www.baidu.com