用MYSQL命令行可以锁表,但用PHP代码操作却锁不了表,怎么回事
用MYSQL命令行可以锁表,但用PHP代码操作却锁不了表,怎么回事
我先在 MYSQL 命令行打入以下命令:
begin;
select id,order_amount from member where username='abc' for update ;
打入上面两行以后 , 会员表 member 就锁住了,然后我修改 order_amount 的值就无法修改了,
只有再打入命令 commit;
才可以继续读取这个表和修改这个表。
但是我在PHP文件中这样运行,却没有任何效果,表也无法锁住,请问是什么原因?
php 代码是这样的:
mysql_select_db("db2");
mysql_query("BEGIN");
$query = "select id,order_amount from member where username='abc' for update ";
echo $query;
$result2 = mysql_query($query);
$r5=mysql_fetch_array($result2);
print_r($r5);
因为在PHP代码中我并没有运行 mysql_query("COMMIT"); 因为我想看一下用PHP代码锁表的效果,但是却没有用。
在上面PHP代码运行以后,还可以用别的PHP文件继续修改 order_amount 的值。请问是为什么?