使用mysql函数实现多步查询中的回滚操作

使用普通的mysql函数来实现数据库事务,同时实现回滚操作,请看下面的代码:

  1. $handler = mysql_connect('localhost', '', '');
  2. mysql_select_db('test');
  3. mysql_query('SET AUTOCOMMIT=0'); // 设置为不自动提交查询
  4. mysql_query('START TRANSACTION'); // 开始查询,这里也可以使用BEGIN
  5. mysql_query("INSERT INTO users VALUES ('ccc')");
  6. mysql_query("DELETE FROM users WHERE username = 'aac'");
  7. if (mysql_affected_rows($handler) == 0)
  8. mysql_query('ROLLBACK'); // 如果删除未找到相应的记录则回滚,不执行上面的插入查询
  9. mysql_query('COMMIT');
  10. mysql_close($handler);

如果查询是通过自定义函数来实现的,而且函数中还有其他的一些操作,那么同样可以采用这样的方法。

你可能感兴趣的:(使用mysql函数实现多步查询中的回滚操作)