免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2127 | 回复: 0
打印 上一主题 下一主题

话说MySQL锁表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-16 14:21 |只看该作者 |倒序浏览
作者:叶金荣(

),转载请注明出处,并不得用于商业用途。
上周写程序时碰到一个问题,为了让数据保持一致性,就在读写数据前锁表,用PHP来处理的,没想到引发了新问题。锁完表之后,由于还需要用到其它数据表,然而,这时就有问题了,报错大致如下:ERROR 1100 (HY000): Table 'table1' was not locked with LOCK TABLES; 我调用的是PEAR::DB类,跟踪PHP程序老半天还是不得其解,就在脑子快想破了的时候,突然灵光一闪,于是就打开手册,开始找关于锁表的片段,终于找到了,原文片段如下:
When you use LOCK TABLES, you must lock all tables that you are
going to use and you must use the same alias that you are going to use in your
queries! If you are using a table multiple times in a query (with aliases), you
must get a lock for each alias!
大致意思是,在锁某个表之后,该进程如果需要用到其它表,也必须锁定该表;这个问题是以前一直都没注意到的,用的也少,看手册也不够细心啊。。。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/82/showart_68265.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP