1
在經典的PHP我有2個流程文件Laravel DB ::的BeginTransaction造成其他事務鎖定
1)process1.php
=>要。表INNODB鎖行。
2)process2.php
=>從同一個表
我曾與PHP/MySQL的START TRANSACTION AND COMMIT
發揮讀取另一行,並將其作爲我想要的正常工作。 我想要的是process2.php
可以選擇另一個記錄事件,儘管process1.php
仍在運行並鎖定某一行。
不幸的是,在Laravel中,我的另一個進程被鎖定,直到第一個進程完成事件,儘管第二個進程正在選擇另一個表。
請幫我弄清楚這個問題。
DB::beginTransaction();
$rs = DB::table('test_iap')->where('content', 'waiting')->lockForUpdate()->get();
$sql = "update test_iap set content='Updated' where id=1";
DB::connection('mysql_pencil_main')->update(DB::raw($sql));
sleep(10);# To allow testing at different file process
DB::commit();
感謝喲的評論。如果第二個過程不是Laravel,這是非常成功的理論。問題是如果第二個進程是Laravel,它會阻止另一個進程,直到第一個進程完成。是否需要對laravel進行任何配置?我在經典的PHP或mysql終端測試真的工作正常。 –