这是场景:我有多个用户使用 PHP 页面/表单同时编辑数据。该表具有多行数据,并且每个用户都可以一次编辑任何一行。系统选择要编辑的行;因此,只需给用户一行进行编辑;他不决定要编辑哪一行。
用户第一次访问带有表单的页面时,它会加载一行。此外,为了让系统可以决定将哪一行提供给任何其他并发用户,它在数据库表中设置一个标志,指示该行已被加载以进行编辑(给另一个并发用户)。
现在,如果用户在没有单击提交按钮的情况下刷新页面或退出页面,我想回滚标志更改,以便可以再次使加载的行可用于编辑。
为此,我打算使用 MySQL 事务。- 在事务开始时,将设置标志。- 然后,将要编辑的数据加载到表单中。
一次,用户编辑数据并提交(通过单击按钮),然后才会发出 Commit。
所以,我的理解是 START 事务和 Commit 将分别发生。
有人可以提供一些关于如何实现这一目标的指导吗?