服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 为mysql数据库添加事务处理的方法

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

2019-11-21 15:02MYSQL教程网 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('服务器之家','//www.zzvips.com')";//该记录插入数据库 
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 服务器之家 //www.zzvips.com 
2 百度 http://www.baidu.com

延伸 · 阅读

精彩推荐