0

错误代码 1064,SQL 状态 42000:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“BEGIN INSERT INTO mst_gate( gate_id, gate_name, status) VALUES”附近使用正确的语法

DELIMITER @@  
CREATE TRIGGER vms.ins_gate  
BEGIN  
    INSERT INTO `mst_gate` (`gate_id`,`gate_name`,`status`)   
        VALUES (new.gate_id, new.gate_name, new.status);  
  END @@  
DELIMITER ; 
4

2 回答 2

0

触发语法错误,试试

    DELIMITER @@  
    CREATE TRIGGER vms.ins_gate  BEFORE INSERT ON sometable
    FOR EACH ROW
    BEGIN  
        INSERT INTO `mst_gate` (`gate_id`,`gate_name`,`status`)   
            VALUES (new.gate_id, new.gate_name, new.status);  
      END @@  
    DELIMITER ; 
于 2014-01-01T08:01:16.610 回答
0

您在 SQL 中缺少{BEFORE | AFTER} INSERT ON {TABLE NAME}, 和FOR EACH ROW子句。

Create trigger应该这样读:

CREATE TRIGGER vms.ins_gate BEFORE INSERT ON vms.gate

或者

CREATE TRIGGER vms.ins_gate AFTER INSERT ON vms.gate

可能

DELIMITER @@
CREATE TRIGGER vms.ins_gate BEFORE INSERT ON vms.gate
  FOR EACH ROW BEGIN
    INSERT INTO mst_gate (gate_id,gate_name,status)
                VALUES (new.gate_id, new.gate_name, new.status);
  END
@@
DELIMITER ;

参考 MySQL:CREATE TRIGGER 语法

于 2014-01-01T08:01:24.697 回答