我有一个读取 mysql 表 t1 并执行一些操作的 perl 文件 test.pl。
如果两个用户同时执行 test.pl ,那么我需要阻止一个用户读写 t1 。
一旦其他用户在 t1 完成他的操作,则允许其他用户在 t1 开始他的操作
我怎样才能做到这一点。?
我们可以使用mysql的'Lock'吗?
或任何其他解决方案
您可以使用LOCK TABLE显式锁定表。
但是,您可能希望考虑使用事务,以在运行时保持数据一致test.pl
,但不完全锁定其他进程使用数据库。
具体如何工作取决于您使用的数据库引擎,因此您还应该阅读事务和原子操作部分