Bug #11472 的核心问题是,当父表上的外键级联操作(如 ON DELETE SET NULL 或 ON UPDATE CASCADE)导致子表行被间接更新或删除时,子表上的触发器不会执行。2005 年 Bug 提交者 Omer Barnir 就提供了清晰的复现步骤,然而该问题很快被确认为已知问题后却一拖再拖。
开发者 Dmitry Lenev 曾表示将在 5.1 版本修复,但由于涉及架构层面的复杂性,需要在 MySQL 的 InnoDB 外键实现与触发器执行机制之间建立新的协调路径,这一问题被不断搁置。2013 年,Stale Deraas 公开表示这是一个需要重大开发工作的问题,并非简单的 Bug 修复。
在这近 20 年里,无数开发者在评论区留下了带有苦涩幽默的痕迹,从最初期待修复,到多年过去仍未解决的无奈调侃,都反映出这个 Bug 给开发者带来的困扰。
2025 年 3 月 17 日,MySQL 开发者 Prabakaran Thirumalai 宣布 Bugs #11472 已作为 Worklog WL#17024 的一部分被修复。这一迟来的公告在评论区引发热烈回应,对于 MySQL 社区而言是一个标志性时刻,意味着 MySQL 在 ACID 合规性上补上了重要的一环。
编辑观点:Bug #11472 的修复对 MySQL 意义重大,虽耗时近 20 年,但补齐了合规性短板,有望挽回部分因该 Bug 流失的开发者。