gpt4 book ai didi

MySQL 触发器没有像它应该的那样执行

转载 作者:行者123 更新时间:2023-11-29 05:32:18 25 4
gpt4 key购买 nike

我在下面编写了触发器,但是当我插入到表中时,它并没有像预期的那样将插入的单词大写。 (也没有错误)。任何可能的解决方案?(我有一个 employee 和一个 employee2 表,因为我读到你不能在它试图更新的表中有触发器)。

DELIMITER $$
DROP TRIGGER IF EXISTS mytrigger$$
CREATE TRIGGER mytrigger before INSERT ON employee FOR EACH ROW
BEGIN
update employee2
SET employee2.FName = CONCAT(UCASE(LEFT(employee2.FName, 1)), LCASE(SUBSTRING(employee2.FName, 2)));
END;
$$
DELIMITER ;

最佳答案

您可以在要更新的表上使用触发器,只是不能运行 UPDATE 查询。相反,您在插入数据之前修改数据:

DELIMITER $$
DROP TRIGGER IF EXISTS mytrigger$$
CREATE TRIGGER mytrigger before INSERT ON employee FOR EACH ROW
BEGIN
SET NEW.FName = CONCAT(UCASE(LEFT(NEW.FName, 1)), LCASE(SUBSTRING(NEW.FName, 2)));
END;
$$
DELIMITER ;

“NEW”关键字使您可以访问将要插入的数据。

关于MySQL 触发器没有像它应该的那样执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13716253/

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