我有一个perl文件test.pl,它读取了一个mysql表t1并进行了一些操作。
如果两个用户同时执行test.pl,那么我需要阻止一个用户读写t1。
一旦其他用户在t1中完成其操作,则允许其他用户在t1
中开始其操作我怎样才能做到这一点。?
我们可以使用' Lock'是mysql。?
或任何其他解决方案
答案 0 :(得分:1)
您可以使用LOCK TABLE显式锁定表格。
但是,您可能希望使用transaction来保持数据在运行test.pl
时保持一致,但不能完全锁定其他进程使用数据库。
这究竟是如何工作取决于您正在使用的数据库引擎,因此您还应该阅读Transactions and Atomic Operations
部分