为什么给表加了读锁之后无法把数据查询出来?
程序员文章站
2022-06-03 15:57:46
...
mysql_query("LOCK TABLES tablename READ;");$result=mysql_query($sql, $conn);mysql_query("UNLOCK TABLES;");
注释掉第一条语句之后能够正常地把记录查询出来,但是一旦使用第一条语句就什么都查不出来了。
回复讨论(解决方案)
你都不让读了,如何能读出来?
你都不让读了,如何能读出来?
但是我加了写锁之后是可以写入的。加读锁不是只有本线程(可能不是这个词)和其他线程都可以读,谁都不可以写么?
请您认真阅读手册后,我们再讨论
请您认真阅读手册后,我们再讨论
我看不了大段的英文。
不是有中文手册吗
不是有中文手册吗
你说完我下载了一个中文的。
中文的我也没看出来什么,我看的是LOCK TABLES那个部分。我试了一下那个别名,还是不行。
不是有中文手册吗
我在MySQL的命令行界面下试了一下读锁,和 网上的那个一样,跟我想的也一样,但是用PHP就不行。
我了个草,我自己找到毛病了。我那个SELECT使用了两个表,但我只锁了一个表,如果只锁一个的话,此线程或者说会话只能读这一个表,其他的表都会拒绝读。这样SELECT自然查不出结果了。
真服了我自己了,我本来写了一个单独的简单的php程序来测试错误来着,这个简单的php程序居然也一直在错。可能是复制粘贴之后没有改参数之类的东西的原因吧。
等帖子沉了再结贴吧,希望别人不要像我这么粗心。
楼主 为什么我用这条语句却锁定不了表
上一篇: 使MySQL可以远程访问_MySQL
下一篇: 聚宽数据下载工具