MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的! 可以通过SQL语句来更改,sql语句可以这样写:

1
 ALTER  TABLE  TABLENAME  type  =  InnoDB;

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?PHP 
$LinkID =mysql_connect('localhost:3306','root',*******); 
mysql_select_db('my_db',$LinkID); 
mysql_query("set names utf8"); 

/* 创建事务 */ 
mysql_query('START TRANSACTION') or exit(mysql_error()); 
//mysql_query("BEGIN"); 

$ssql1="insert into pf_item values('22','我们','30')";  //执行sql 1 
if(!mysql_query($ssql1)){ 
   echo $ssql1.mysql_errno().":".mysql_error()."<br>"; 
   mysql_query('ROLLBACK') or exit(mysql_error());//判断当执行失败时回滚 
   exit; 
} 
$ssql1="insert into pf_item values('21','hell','10')";  //执行sql 2 
if(!mysql_query($ssql1)){
   echo $ssql1.mysql_errno().":".mysql_error()."<br>"; 
   mysql_query('ROLLBACK') or exit(mysql_error());//判断当执行失败时回滚 
   exit; 
} 

mysql_query('COMMIT') or exit(mysql_error());//执行事务 

mysql_close($LinkID); 
//mysql_query("END");
?>
  • 转载:https://sunzhy.blog.csdn.net/article/details/50017535