这是PHP中的(未经测试,需要适应您的情况):
mysql_query('START TRANSACTION;')mysql_query("UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';");if (mysql_affected_rows()){ mysql_query('COMMIT');} else { mysql_query('ROLLBACK');}或者,如果您想变得聪明一点,并在SQL中做到这一点(使用
ROW_COUNT()和
IF):
START TRANSACTION;UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';SELECT ROW_COUNT() INTO @affected_rows;-- .. other queries ...IF (affected_rows > 0) THEN COMMIT;ELSE ROLLBACK;END IF



