【问题标题】:MySQL: Trigger to Insert New Row in One Table When Another Table has a Row InsertedMySQL:当另一个表插入行时触发在一个表中插入新行
【发布时间】:2015-03-16 18:29:12
【问题描述】:

当该行被插入到另一个表中时,我想在现有表中插入一个新行。有很多这样的例子,但是我找不到带触发器的例子。这是我的代码。我究竟做错了什么?触发器根本没有触发:

USE `MTFDFormdB`;
DELIMITER $$
CREATE TRIGGER `StationTrouble_temp` 
AFTER INSERT ON `StationTrouble_temp` 
FOR EACH ROW INSERT INTO `StationTrouble`
(`_rowid_`,
`fullname`,
`username`,
`email5`,
`controlnumber`,
`station`,
`problemdescription`,
`appaerentcause`,
`observed`,
`reportstatus`,
`_submitted_`,
`_fromaddress_`,
`_flags_`,
`_transactid_`,
`submittername`,
`other submitter`) SELECT rowid_,
fullname,
username,
email5,
controlnumber,
station,
problemdescription,
appaerentcause,
observed,
reportstatus,
_submitted_,
_fromaddress_,
_flags_,
_transactid_,
submittername,othersubmitter
FROM StationTrouble_temp;

【问题讨论】:

    标签: mysql triggers insert


    【解决方案1】:

    可以使用new关键字从执行触发器的表中获取新插入的记录,所以应该是as

    DELIMITER $$
    CREATE TRIGGER `StationTrouble_temp` AFTER INSERT ON `StationTrouble_temp` 
    FOR EACH ROW
     BEGIN
            INSERT INTO `StationTrouble`
            (
                    `_rowid_`,
                    `fullname`,
                    `username`,
                    `email5`,
                    `controlnumber`,
                    `station`,
                    `problemdescription`,
                    `appaerentcause`,
                    `observed`,
                    `reportstatus`,
                    `_submitted_`,
                    `_fromaddress_`,
                    `_flags_`,
                    `_transactid_`,
                    `submittername`,
                    `othersubmitter`
            )
            values
            (
                new.rowid_,
                new.fullname,
                new.username,
                new.email5,
                new.controlnumber,
                new.station,
                new.problemdescription,
                new.appaerentcause,
                new.observed,
                new.reportstatus,
                new._submitted_,
                new._fromaddress_,
                new._flags_,
                new._transactid_,
                new.submittername,
                new.othersubmitter
            );
    end ; $$
    

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多