我在下面编写了触发器,但是当我插入表格时,它并没有像插入的那样大写插入的单词。 (也没有错误)。任何可能的解决方 (我有一个员工和一个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 ;
答案 0 :(得分:3)
您可以在要更新的表上设置触发器,但是您无法运行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”关键字可让您访问要插入的数据。