2010-12-14 47 views
-1

J'ai écrit un déclencheur simple, mais il soulève des erreurs que je n'obtiens pas. Heres mon déclencheur:Impossible de faire fonctionner MySQL Trigger

CREATE TRIGGER logSlette After DELETE on ansatte 
for each row 
begin 
insert into slettede_ansatte set AnsattID=old.AnsattID,slettet=now() 
end; 

La create table pour la table est:

CREATE TABLE slettede_Ansatte 
(
AnsattID Integer(4) NOT NULL, 
slettet TIME NOT NULL, 
CONSTRAINT Ansatte_PK Primary Key(AnsattID) 
) ENGINE=INNODB; 
+0

Quelle erreur (s) cela donne-t-il? – David

+0

Il est dit "Erreur de syntaxe SQL près de 'end';" –

Répondre

0

(révisée)

Le correct syntax est

CREATE TRIGGER logSlette AFTER DELETE ON ansatte 
    FOR EACH ROW 
    BEGIN 
    INSERT INTO slettede_ansatte 
     SET AnsattID = OLD.AnsattID, 
      slettet=now(); 
    END; 

Peut-être est le point-virgule manquant ?

+0

Ne l'ai pas résolu pour moi –

+2

Vous devez d'abord changer le délimiteur - le point-virgule fermera l'instruction CREATE TRIGGER (trop vite) sinon. – Konerak

+0

J'utilise MySQL Workbench, alors comment changer le délimiteur? Je reçois cette erreur sur le code révisé: Code d'erreur: 1064 Vous avez une erreur dans votre syntaxe SQL; consultez le manuel correspondant à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de la ligne 6 –