2017-06-19 4 views
0

Il y a une erreur dans la syntaxe des triggers qui ne peuvent pas être corrigés. J'ai table pra1 et table de déclenchement pra1_audit pour pra1.IL EXISTE une erreur dans la syntaxe des triggers qui ne peuvent pas être corrigés, ayant une table pra1 et une table trigger pra1_audit pour pra1

select * from pra1; 

CREATE TABLE pra1_audit ( id INT AUTO_INCREMENT PRIMARY KEY, 
    id_menu INT NOT NULL,  id_productline INT NOT NULL, 
    Order_ID INT NOT NULL ); 


    DELIMITER $$ CREATE TRIGGER before_pra1_update BEFORE UPDATE ON pra1 FOR EACH ROW BEGIN INSERT INTO pra1_audit SET action = 'update', id_menu= OLD.id_menu, Order_ID = OLD.Order_ID; 
     END$$ DELIMITER ; 
+0

'Avant MISE À JOUR pra1' Avez-vous prA1 comme table? –

+0

oui pra1 est un tableau –

+0

que voulez-vous exactement? Bcz votre syntaxe est fausse près de vous insérez avec la syntaxe de mise à jour 'INSERT INTO pra1_audit SET ...' –

Répondre

0

Lorsque vous effectuez un insert, vous devez utiliser

INSERT INTO pra1_audit (action, id_menu, Order_id) 
    values('update', OLD.id_menu, OLD.Order_ID); 
+0

DROP TRIGGER Customers.before_Customers_update \t Erreur Code: 1360. Le déclencheur n'existe pas \t 0.249 sec, La table des clients sur laquelle le déclencheur est déclenché est before_Customers_update –

+0

@PallaviKhosla si le déclencheur n'existe pas, alors créez-le ou modifiez-le en "drop trigger if exists" –