>데이터 베이스 >MySQL 튜토리얼 >为mysql数据库添加添加事务处理的方法

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

WBOY
WBOY원래의
2016-06-07 18:03:541196검색

开始首先说明一下,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 ;

第二不就是如果和添加事物:
代码如下:
$con = mysql_connect("localhost", "root", "vertrigo");
//开始事务
mysql_db_query("mysqlnew","BEGIN");
$insertSql ="insert into test(websitename,websiteurl)values('脚本之家','http://www.jb51.net')";//该记录插入数据库
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 脚本之家 http://www.jb51.net
2 百度 http://www.baidu.com
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.