对于以下情况,是否需要显式锁定mysql表:
mysql数据库用户名: db_user (而且只有一个)
web客户端会话:许多用户同时登录
因为mysql用户是单一的,但是我的web服务器有很多客户端会话。会发生什么(在一个表中插入记录,然后获取插入ID并将数据添加到另一个表):
请帮帮忙。
发布于 2012-07-23 05:56:11
哈梅特
简单地说,答案是否定的,你不需要在做你描述的事情时使用LOCK TABLES。
您只需要在希望确保您是唯一写入表的人时才使用LOCK TABLES,例如,如果您想要INSERT大量记录,并且希望尽可能快地执行该操作。
您可以在mysqldump命令创建的转储文件中看到这一点。下面是转储文件中的一个示例:
LOCK TABLES `tbl` WRITE;
/*!40000 ALTER TABLE `tbl` DISABLE KEYS */;
INSERT INTO `tbl` VALUES ...
/*!40000 ALTER TABLE `tbl` ENABLE KEYS */;
UNLOCK TABLES;https://stackoverflow.com/questions/11553087
复制相似问题