gpt4 book ai didi

mysql - 防止删除数据库中的特定行

转载 作者:行者123 更新时间:2023-11-29 04:08:20 25 4
gpt4 key购买 nike

我有一个链接到数据库的网站。当用户登录时,他们可以删除称为类别的东西。该网站创建准备好的声明并从数据库中删除该类别。

我希望能够防止删除具有特定名称或 ID 的类别。这很简单,可以使用 jquery 进行检查,但我想通过在数据库中添加检查来增加另一层安全性。几个问题...

触发器还是程序?我以前从未使用过过程,并且从我对触发器的一点触发器经验来看,我不知道如何解决这个问题。假设可以使用触发器,我将如何获得被删除的类别?然后我将如何阻止数据库中的该行被删除?

作为开始,我有以下触发器代码。

delimiter $$
CREATE TRIGGER category_delete BEFORE DELETE ON categories
FOR EACH ROW
BEGIN

END$$
delimiter ;

最佳答案

从触发器中抛出异常以中止删除:

delimiter $$
CREATE TRIGGER category_delete BEFORE DELETE ON categories
FOR EACH ROW
BEGIN
IF old.id = 5 THEN -- use whatever condition you need
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'May not delete id 5';
END IF;
END$$
delimiter ;

关于mysql - 防止删除数据库中的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21343951/

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