首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局表锁mysql

全局表锁mysql
EN

Stack Overflow用户
提问于 2015-09-09 13:25:23
回答 1查看 711关注 0票数 0

我希望用我的php脚本锁定mysql表,以便在原始脚本解锁表之前,不允许试图在该表上执行写查询的其他脚本继续运行。

怎么做?(希望有一些失败的安全方法)。

我试过了,但没用:

代码语言:javascript
复制
test1.php

<?php

include 'init.php';

$q = "LOCK TABLE vars WRITE";
mysql_query($q);

echo "Table locked for writing (you wish)\n";

sleep(10);

$q = "UNLOCK TABLE vars";
mysql_query($q);

?>

test2.php

<?php

include 'init.php';

$q = "INSERT INTO vars VALUES ('test', '2016-01-01 00:00:00')";
$rows = mysql_query($q);

echo "Done!";

?>
  1. 我执行test1.php。
  2. 两秒钟后,我执行test2.php (但不早于收到“you意愿”消息Fronmtest1.php)。
  3. 结果是:新行将立即添加,而不是8秒后。所需的结果:8秒后添加新行。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-12 05:06:38

测试示例实际上可以按需要工作-我只需要正确配置运行这些脚本的mysql的权限。有关的mysql用户没有锁表特权,test1.php中的第一条语句实际上引发了一条我没有检查的无声错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32480842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档