0

我正在尝试制作 SQL 触发器,但出现某种语法错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 7 行的 '' 附近使用正确的语法

任何想法哪里有问题?

create trigger trSaveRows
before delete
on nw_member
for each row
begin
  insert into nw_meber_zaloha(id, email, password, stamp, meno,priezvisko, titul, pohlavie, rodnecislo, cisloobcianky, telefon, stav, pocetdeti, mesto, ulica,cislopopisne,  cisloorientacne, kraj, castobce, cisloevidencne, cislobytu, dlzkapobytu, mesacnyprijem, povolanie, zamestnanec, zamestnavatel, z_psc, z_castobce, z_ulica, z_telefon, z_mzdaucet, auto, vodicak, blizkaosoba, telefonblizkaosoba, vztah, srazky, schopen, exekucne, inapujcka, dozvedel, psc, ico, z_obec, banka, infobydleni, zivlist, duchodek, privydelek, spz, Tmesto, Tulica, Tpsc, Tcislopopisne, Tcisloorientacne, pracovnipozice, byvalepovolani, zlavauplatnena, pokuta_text, dlzkaprace) 
  values (old.id, old.email, old.password, old.stamp, old.meno, old.priezvisko, old.titul, old.pohlavie, old.rodnecislo, old.cisloobcianky, old.telefon, old.stav, old.pocetdeti, old.mesto, old.ulica, old.cislopopisne, old.cisloorientacne, old.kraj, old.castobce, old.cisloevidencne, old.cislobytu, old.dlzkapobytu, old.mesacnyprijem, old.povolanie, old.zamestnanec, old.zamestnavatel, old.z_psc, old.z_castobce, old.z_ulica, old.z_telefon, old.z_mzdaucet, old.auto, old.vodicak, old.blizkaosoba, old.telefonblizkaosoba, old.vztah, old.srazky, old.schopen, old.exekucne, old.inapujcka, old.dozvedel, old.psc, old.ico, old.z_obec, old.banka, old.infobydleni, old.zivlist, old.duchodek, old.privydelek, old.spz, old.Tmesto, old.Tulica, old.Tpsc, old.Tcislopopisne, old.Tcisloorientacne, old.pracovnipozice, old.byvalepovolani, old.zlavauplatnena, old.pokuta_text, old.dlzkaprace, now(), user());
end; 
4

1 回答 1

0

语法是正确的。尝试添加DELIMITER命令,例如 -

分隔符 $$

CREATE TRIGGER trSaveRows
BEFORE DELETE
ON nw_member
FOR EACH ROW
BEGIN
  INSERT INTO nw_meber_zaloha (ID, email, password, stamp, meno, priezvisko, titul, pohlavie, rodnecislo, cisloobcianky, telefon, stav, pocetdeti, mesto, ulica, cislopopisne, cisloorientacne, kraj, castobce, cisloevidencne, cislobytu, dlzkapobytu, mesacnyprijem, povolanie, zamestnanec, zamestnavatel, z_psc, z_castobce, z_ulica, z_telefon, z_mzdaucet, auto, vodicak, blizkaosoba, telefonblizkaosoba, vztah, srazky, schopen, exekucne, inapujcka, dozvedel, psc, ico, z_obec, banka, infobydleni, zivlist, duchodek, privydelek, spz, Tmesto, Tulica, Tpsc, Tcislopopisne, Tcisloorientacne, pracovnipozice, byvalepovolani, zlavauplatnena, pokuta_text, dlzkaprace)
    VALUES (OLD.ID, OLD.email, OLD.password, OLD.stamp, OLD.meno, OLD.priezvisko, OLD.titul, OLD.pohlavie, OLD.rodnecislo, OLD.cisloobcianky, OLD.telefon, OLD.stav, OLD.pocetdeti, OLD.mesto, OLD.ulica, OLD.cislopopisne, OLD.cisloorientacne, OLD.kraj, OLD.castobce, OLD.cisloevidencne, OLD.cislobytu, OLD.dlzkapobytu, OLD.mesacnyprijem, OLD.povolanie, OLD.zamestnanec, OLD.zamestnavatel, OLD.z_psc, OLD.z_castobce, OLD.z_ulica, OLD.z_telefon, OLD.z_mzdaucet, OLD.auto, OLD.vodicak, OLD.blizkaosoba, OLD.telefonblizkaosoba, OLD.vztah, OLD.srazky, OLD.schopen, OLD.exekucne, OLD.inapujcka, OLD.dozvedel, OLD.psc, OLD.ico, OLD.z_obec, OLD.banka, OLD.infobydleni, OLD.zivlist, OLD.duchodek, OLD.privydelek, OLD.spz, OLD.Tmesto, OLD.Tulica, OLD.Tpsc, OLD.Tcislopopisne, OLD.Tcisloorientacne, OLD.pracovnipozice, OLD.byvalepovolani, OLD.zlavauplatnena, OLD.pokuta_text, OLD.dlzkaprace, NOW(), USER());
END$$

DELIMITER ;
于 2013-09-10T05:12:58.150 回答