被删除或更新如果你是我们MySQL 5.5或更高版本,这很简单。
DELIMITER $$
DROP TRIGGER IF EXISTS demo_bd $$
CREATE TRIGGER demo_bd BEFORE DELETE ON demo FOR EACH ROW
BEGIN
IF OLD.id = 1 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'This magical user cannot be deleted';
END IF;
END $$
DELIMITER ;
对于更新,它是完全相同的代码,只需稍作调整。
DELIMITER $$
DROP TRIGGER IF EXISTS demo_bu $$
CREATE TRIGGER demo_bu BEFORE UPDATE ON demo FOR EACH ROW
BEGIN
IF OLD.id = 1 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'This magical user cannot be updated';
END IF;
END $$
DELIMITER ;
另外...不要在数据库中存储密码。
你的问题很一般,你到目前为止试过了什么? – RedFilter
http://stackoverflow.com/questions/5132356/how-to-reject-delete-statement-in-before-delete-triger-mysql – ethrbunny