2010-11-13 5 views
1

j'ai essayé d'écrire ce petit déclencheur dans MySQL,résultats de déclenchement MySQL en erreur # 1064

CREATE TRIGGER `leg` BEFORE INSERT ON `bckoff` 
FOR EACH ROW BEGIN 
INSERT INTO `bckoff` SET `step`=1; 
END; 

après que je reçois cette erreur .. Je suis un débutant à MySQL .. donc s'il vous plaît, aidez-moi ici. .

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 
+0

Qu'est-ce que votre table ressemble. Pourquoi votre trigger est-il inséré dans la même table que vous insérez? – Brettski

+0

wat avez-vous à la ligne 3? –

+0

Oh! Est-ce que je ne peux pas utiliser les déclencheurs sur la même table dans laquelle je l'insère? Je ne le savais certainement pas .. –

Répondre

2

Même après que vous corriger cette erreur - vous obtiendrez un autre: vous ne pouvez pas modifier la table que votre déclencheur a été créé.

BTW, voici comment vous devez créer ce déclencheur:

delimiter | 

CREATE TRIGGER `leg` BEFORE INSERT ON `bckoff` 
FOR EACH ROW BEGIN 
INSERT INTO `bckoff` SET `step`=1; 
END; 
| 

delimiter ; 
+0

Alors, y a-t-il un moyen de le faire? Que faire si je * veux * modifier la même table? –

+0

@Hrishikesh Choudhari: expliquez la tâche que vous essayez de résoudre avec ce code. – zerkms

+0

J'ai un élément "parent" avec un ID. Si je crée un élément "enfant" avec l'ID parent (dis parentID 123), alors je veux incrémenter la colonne "enfants" pour ce parent de 1. Ceci est la tâche réelle que j'essaye de faire. –

Questions connexes