首页 > 解决方案 > 用不同的别名锁定同一个表

问题描述

我正在尝试锁定一组特定查询中涉及的所有表,但其中一个查询对其自身进行了自联接。我要如何锁定那个?

LOCK TABLES employees e READ,
            employees e2 READ;

从表面上看,这似乎应该有效,但在我的测试中似乎没有?我的测试是拙劣的还是真的不起作用?还是有其他我不知道的事情发生?

标签: mysqltable-lock

解决方案


您需要为别名和表本身获取锁

LOCK TABLES employees READ, employees AS employees_read READ;

SELECT * FROM employees AS employees_read;

UNLOCK TABLES;

这里这里


推荐阅读