我有一个链接到数据库的网站。当用户登录时,他们可以删除称为类别的内容。该网站创建一个准备好的声明,并从数据库中删除此类别。
我希望能够阻止删除具有特定名称或ID的类别。这很简单,可以使用jquery进行检查,但我想通过在数据库中添加一个检查来添加另一层安全性。情侣问题......
触发器或程序?我以前从未使用过程序,而且从触发器的触发器经验来看,我不知道如何处理这个问题。假设可以使用触发器,我将如何删除该类别?然后我将如何阻止数据库中的那一行被删除?
首先,我有一个触发器的代码。
delimiter $$
CREATE TRIGGER category_delete BEFORE DELETE ON categories
FOR EACH ROW
BEGIN
END$$
delimiter ;
答案 0 :(得分:6)
从触发器中抛出异常以中止删除:
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 ;
答案 1 :(得分:0)
只需添加一个触发器并绑定它。
使用数据库的强大功能来维护业务逻辑并使其保持一致和所需 - 尽管PHP,JQuery等正在投入其中。这是主要的业务断言