首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在执行PHP侧锁定时选择锁名

如何在执行PHP侧锁定时选择锁名
EN

Stack Overflow用户
提问于 2014-03-17 15:56:49
回答 1查看 37关注 0票数 1

所以我有个密码:

代码语言:javascript
复制
mysql_query("INSERT INTO table (id, field1, field2) VALUES ($id_insert, $field1, $field2)");
$id = mysql_result(mysql_query('SELECT LAST_INSERT_ID()'));
mysql_query("UPDATE table SET field3 = $id WHERE id = $id");

我的问题is...Is在运行这段代码时可能会出现mysql死锁,如果是的话,为什么会这样呢?

现在我可以执行PHP侧锁定,但是我需要一个唯一的锁标识符。在选择唯一的锁标识符名称时,有哪些指导原则?如何选择正确防止MySQL死锁的锁名?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-18 04:22:00

您可以使用mysql锁定功能:

代码语言:javascript
复制
mysql_query("LOCK TABLES table WRITE"); // You need to use WRITE lock in your case

然后执行您的查询:

代码语言:javascript
复制
mysql_query("INSERT INTO table (id, field1, field2) VALUES ($id_insert, $field1, $field2)");
$id = mysql_result(mysql_query('SELECT LAST_INSERT_ID()'));
mysql_query("UPDATE table SET field3 = $id WHERE id = $id");

然后松开锁

代码语言:javascript
复制
mysql_query("UNLOCK TABLES");

Note1:

要获得完整的参考,请使用Mysql锁定概念

Note2:

不推荐使用mysql_*函数,我建议查看MYSQL

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

https://stackoverflow.com/questions/22459132

复制
相关文章

相似问题

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