InnoDB表事务和锁表示例
经过自己的测试,必须是InnoDB表才能执行事务,MyISAM表不支持事务,事务和锁表不要一起用,因为unlock tables解锁表时会造成事务的提交,要不然可能达不预期,至少我自己测试是没有达到自己的设想。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $mysqli ->query( "BEGIN" );
$sql = "insert into abc (title) values ('" . date ( "H:i:s" ). "---此条为事务提交') " ;
$mysqli ->query( $sql );
$mysqli ->query( "COMMIT" );
sleep(5);
$mysqli ->query( "lock tables abc write" );
$sql = "insert into abc (title) values ('" . date ( "H:i:s" ). "---此条为锁表写入') " ;
$mysqli ->query( $sql );
sleep(10);
$mysqli ->query( "unlock tables" );
exit ;
|