我正在开发一个用 PHP 和 Mysqli 编写的复杂数据库应用程序。对于大型数据库操作,我正在使用后台工作的守护程序(也是 PHP)。在这些可能需要几分钟的操作期间,我想阻止用户访问受影响的数据并改为向他们显示消息。
我考虑过创建一个 Mysql 表并在每次发生特定的守护程序操作时插入一行。然后我总是能够检查在尝试访问数据时是否发生了某个操作。
但是,当然重要的是记录不要留在数据库中,如果守护进程因任何原因终止(从控制台终止,丢失数据库连接,拔掉插头等)我不认为 Mysql 事务 /回滚能够做到这一点,因为必须提交才能使更改公开,并且如果终止,记录将保留在数据库中。
如果进程终止,有没有办法确保记录被删除?