0

我在这里遇到问题,在MYSQL中我有:

1-表名为“norte” 它有一个名为“nortel”的列 2-表名为“bitacora” 它有一个名为“telefono”的列

我制作了一个触发器来复制这些信息,例如每当我向“norte”表添加一些东西时,我希望它自动复制到 bitacora 表中,我不知道我做错了什么,这是我的触发器

CREATE TRIGGER insertar AFTER INSERT ON norte
FOR EACH ROW 
BEGIN
INSERT INTO bitacora SET telefono = NEW.nortel 
END; 

这里的问题是它说意外的END期待';'

但如果我删除它说的“END”

CREATE TRIGGER insertar AFTER INSERT ON norte
FOR EACH ROW 
BEGIN
INSERT INTO bitacora SET telefono = NEW.nortel;

意外的 END_OF_INPUT 期待 ';'

4

3 回答 3

1

您需要更改分隔符。

delimiter |
CREATE TRIGGER insertar AFTER INSERT ON norte
FOR EACH ROW 
BEGIN
    INSERT INTO bitacora (telefono) values (NEW.nortel);
END
|
delimiter ;

否则数据库认为您的触发器语句首先结束,;然后它将不完整。

于 2013-10-24T18:12:48.477 回答
0

您在 NEW.nortel 之后缺少一个“ ; ”:

它应该是:

CREATE TRIGGER insertar AFTER INSERT ON norte 
FOR EACH ROW 
BEGIN 
  INSERT INTO bitacora SET telefono = NEW.nortel; 
END;

sqlfiddle demo

于 2013-10-24T18:08:56.240 回答
0
DELIMITER $$


CREATE TRIGGER row_update_trigger  AFTER INSERT ON returns_loading_dc 
  FOR EACH ROW BEGIN
    INSERT INTO   Returns_receiving_Fc 
    set 
      Var_key=NEW.Var_key,
      Product_Title=NEW.Product_Title,
      Building=NEW.Building,
      Hub_ID=NEW.hub_id,
      JPIN=NEW.JPIN,
      Tagging_Required=NEW.Tagging_Required,
      Food_Non_Food=NEW.Food_Non_Food,
      Qty_loaded_from_hub=NEW.Total_Quantity_Loaded;


END $$ need help
于 2018-10-29T18:24:23.193 回答