触发插入到多个表中


Trigger insert into multiple tables

我有 2 个表命名为:train_information

Train_information

有以下特点:

train_id (PK)
train_name
train_length
number_of_axles

axle

有以下特点:

axle_id (PK)
train_id(FK)
axle

当我在train_information上插入一些东西时,例如假设将数字 16 放在number_of_axles中。我希望工作台轴自动获取相同的信息。

如何使用触发器执行此操作?

编辑:

它现在适用于以下代码:

CREATE TRIGGER TriggerName AFTER INSERT ON train_information
FOR EACH
ROW 
BEGIN 
INSERT INTO axle( train_id, axle ) 
VALUES (
NEW.train_id, NEW.number_of_axles
);
END

但是现在,它输入例如桌中的数字 16但我希望它像这样:

axle_id = 1
train_id = 1
axle = 1
axle_id = 2
train_id = 1
axle = 2
axle_id = 3
train_id = 1
axle = 3

这可能吗?

您可以在

表上创建AFTER TRIGGER Train_information如下所示:

.SQL有关 SQL 中的触发器后的更多信息

CREATE TRIGGER TriggerName
   ON Train_information
   FOR INSERT
   AS
   BEGIN
      SET NOCOUNT ON
      INSERT INTO axle
        (train_id, axle)
    SELECT
        train_id, 'axle_name'
        FROM inserted
    END

MySQL更多关于 MySQL 中的触发器后

DELIMITER $$
CREATE TRIGGER TriggerName
   AFTER INSERT ON Train_information FOR EACH ROW
   BEGIN
      INSERT INTO axle (train_id, axle)
      VALUES (NEW.train_id, NEW.axle_name)            
    END;
$$
DELIMITER ;