gpt4 book ai didi

mysql - 如何使用触发器来防止表上的删除并改为更新?

转载 作者:行者123 更新时间:2023-11-29 16:28:33 24 4
gpt4 key购买 nike

我想使用触发器在mysql中实现软删除并进行更新而不是删除。然后我发现mysql没有instead-of-Triggers。

所以我想使用Before-Trigger,但我找不到任何方法来中止删除而不引发错误。

我正在寻找这样的东西:

use testdb;
DELIMITER $$
CREATE TRIGGER `table1_before_delete` BEFORE DELETE ON `table1`
FOR EACH ROW
BEGIN
call abort_delete_and_dont_raise_error();
UPDATE table1 SET deleted_at=NOW() where id=old.id;
END$$
DELIMITER ;

我找不到这样的东西。

最佳答案

您无法在不引发错误的情况下中止 Mysql 中的删除。您不应该使用 before delete 触发器来实现软删除机制。这是一个错误的方法。您应该在应用程序中实现软删除机制。

关于mysql - 如何使用触发器来防止表上的删除并改为更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54095930/

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