gpt4 book ai didi

mysql - 如何在mysql中的触发器上编写业务规则

转载 作者:行者123 更新时间:2023-11-29 22:26:47 25 4
gpt4 key购买 nike

我正在尝试使用 MySQL 在触发器中编写业务规则,但它不起作用。

我想要做的是,如果条件为假,则插入必须失败并回滚它。问题是 MySQL 不允许在触发器内使用回滚。

我也尝试过使用 SIGNAL 和短信,但失败了。

代码是:

CREATE TRIGGER tr_NewTeacher
AFTER INSERT ON teachers FOR EACH ROW
BEGIN
IF (salary > 1300 AND budget < 15000)
BEGIN
ROLLBACK TRANSACTION;
END
END

最佳答案

在 MySQL 中,如果事务失败,触发器将回滚事务。

因此,您必须在触发器主体内引发异常:

...
if [Test]
then

SIGNAL sqlstate '45001' set message_text = "No way ! You cannot do this !";

end if ;
...

关于mysql - 如何在mysql中的触发器上编写业务规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com