MySQL - 插入后更新同一个表的触发器
在数据库管理领域,遇到对表执行操作需要后续操作的情况对同一个表的更新并不罕见。在这个特定的实例中,挑战在于在触发器中实现这一点。
考虑 ACCOUNTS 表的情况,在插入新行时,需要对主键与值匹配的另一行进行相应的更新NEW.edit_on 的。但是,正如文档所述,在触发器中禁止修改调用语句中已使用的表。
要克服此限制,建议使用存储过程。该存储过程将首先插入或更新目标表,然后更新附加行,所有这些都在事务的上下文中进行。通过手动提交更改,这两个操作都可以成功执行。
虽然创建此类存储过程的复杂性可能会因特定的数据库系统而异,但请参阅提供的示例以获得更详细的理解。这种方法有效地规避了触发器施加的限制,并允许实现复杂的表操作场景。
以上是如何在使用触发器插入后更新同一个 MySQL 表?的详细内容。更多信息请关注PHP中文网其他相关文章!