MySQL触发器问题:仅在列更改时触发?
我不知道这是否可行,但我在表中有一个名为 active
的列。每当活动列发生更改时,我都想重置 date
列中的日期,但仅如果 active
列发生更改。
如果其他列发生更改,但 active
列未更改,则日期将保持不变。
I don't know if this is possible, but I have a column named active
in a table. Whenever the active column gets changed, I would like to reset the date in the date
column, but ONLY if the active
column gets changed.
If other columns are changed but not the active
column, then the date would remain the same.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
类似的东西
something like
在 #2 示例中,IF 测试遇到了问题。当其中一个值为空时,<>测试返回 null。这会导致测试未得到满足,并且即使该值根本不等于 null,触发器的操作也不会运行。为了解决这个问题,我想出了这个使用 <=> 的测试。 (NULL 安全等于)。希望这可以帮助别人。
Ran into an issue with the IF test in the #2 example. When one of the values is null the <> test returns null. This leads to the test not getting met and the action of the trigger will not get run even though the one value does not equal null at all. To fix this I came up with this test that uses <=> (NULL-safe equal). Hope this helps someone out.