我很难尝试触发。
我可以找到很多示例来说明如何进行触发,但是没有什么可以帮助解决我的特定问题。
我需要在考试项目中创建触发器,并希望它接受输入的电子邮件并将其转换为小写字母。应该很简单-但是我做不到。
所以现在我在寻求帮助。

这是我从sql程序中获得的信息,仅插入正确的值应该很容易。

    DELIMITER $$
 CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `awesomegame`.`lowercase` AFTER INSERT
ON `awesomegame`.`users`
FOR EACH ROW BEGIN
UPDATE LOWER(sEmail);
END$$ DELIMITER ;


我该怎么办?

最佳答案

使用BEFORE INSERT代替AFTER INSERT,并使用new关键字访问和修改sEmail字段。

CREATE TRIGGER `awesomegame`.`lowercase` BEFORE INSERT ON `awesomegame`.`users` FOR EACH ROW
SET NEW.sEmail = LOWER(NEW.sEmail);


您可以(应该?)对BEFORE UPDATE做同样的事情。

10-06 16:14