加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

用php锁定mysql表

发布时间:2021-03-15 17:09:43 所属栏目:编程 来源:网络整理
导读:脚本1. $query_ = "lock tables test1 as test11 write";mysql_query($query);$query_ = "select * from test11";sleep(20);$query_ = "unlock tables";mysql_query($query_); 脚本2. $query_ = "select * from test1";$result = mysql_query($query_); 问题

脚本1.

$query_ = "lock tables test1 as test11 write";
mysql_query($query);
$query_ = "select * from test11";
sleep(20);
$query_ = "unlock tables";
mysql_query($query_);

脚本2.

$query_ = "select * from test1";
$result = mysql_query($query_);

问题是如果我在运行第一个脚本时运行第二个脚本.表未锁定.我可以从中读取任何数据.

我需要它被锁定并返回错误.

如何使这项工作?

最佳答案 你被读取用$query_ =“锁定表test1作为test11读取”来锁定表; – 这意味着其他查询仍然可以读取它而没有任何问题(相关link – 向下滚动到关于锁类型的部分) :

有关读锁类型的信息:

>持有锁的会话可以读取表(但不能写入).
>多个会话可以同时获取表的READ锁.
>其他会话可以在不明确获取READ锁的情况下读取表.

如果你想停止其他任何事情,那么你需要使用写锁,如下所示:

$query_ = "lock tables test1 as test11 write";

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读