mysql - 如何编写MySQL before insert触发器来向表中插入数据?

标签 mysql database triggers

当我在第一个表中插入数据时,我需要创建一个触发器,以便能够在第二个表中插入一些与第一个表相关的数据。

CREATE TRIGGER test1
ON Telegramas
BEFORE INSERT 
AS
BEGIN
    INSERT INTO Dispositivos SET Dispositivos.GrupoOrigen = Telegramas.GrupoOrigen;
  END;

我已经创建了它,但有一个我看不到的语法错误。一些帮助?或者其他方式让关系变得更容易?

最佳答案

您必须更改分隔符,如下所示:

delimiter |
CREATE TRIGGER test1

 [...]
END |
delimiter ;

但是您的触发器有问题:

 delimiter |
    CREATE TRIGGER test1  BEFORE INSERT ON Telegramas
    FOR EACH ROW
    BEGIN
        INSERT INTO Dispositivos SET GrupoOrigen = NEW.GrupoOrigen;
    END |
 delimiter ;

关于mysql - 如何编写MySQL before insert触发器来向表中插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47631137/

相关文章:

mysql - 如何在 JPA/Hibernate @NamedNativeQuery 和 Spring Data 中使用 "like"谓词和 "%"

php - 以字符串形式显示 INFORMATION_SCHEMA.COLUMNS 结果

python - Django - 默认端口 0 而不是 3306 - 无法连接到 '127.0.0.1' 上的 MySQL 服务器 (61)

mysql - vb.net,mysql插入日期

sql - 反对向其他表插入数据的SQL触发器的原因?

mysql - 在 Mysql 中对行中的范围进行分组

database - neo4j 2.1.7 : How can I index my current data which was there before

mysql - 在 SELECT 中设置一个包含 2 个元素的 var

mysql - 在 mysql 触发器中使用变量

php - 将带有缩略图的图像上传到文件夹并添加到 Mysql 的路径