Bonjour à tous,
je voudrais insérer automatiquement une valeur auto_incremente dans une table qui est vide au départ et qui sera déclencheé après insertion d'une valeur dans une autre colonne.
ma tables est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE TABLE CONTROLES( controle_id INTEGER AUTO_INCREMENT NOT NULL, reference_id INTEGER NULL, controleur_nom VARCHAR(20) NULL, quantite_controlee INTEGER NOT NULL, date_controle VARCHAR(20) NULL, observation NVARCHAR(255) NULL, CONSTRAINT CONTROLES_controle_id_pk PRIMARY KEY (controle_id), CONSTRAINT CONTROLES_reference_id_fk FOREIGN KEY (reference_id) REFERENCES ARTICLE_REFERENCES (reference_id), CHECK (reference_id >= 0) );
mon trigger est :
MySQL a répondu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 DELIMITER $$ CREATE OR REPLACE TRIGGER INCR_CONTROLE BEFORE INSERT ON CONTROLES FOR EACH ROW BEGIN SELECT NVL(MAX(reference_id),0)+ 1 INTO :NEW.reference_id FROM CONTROLES WHERE controle_id:NEW.controle_id; END $$ DELIMITER ;
#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 'TRIGGER INCR_CONTROLE
BEFORE INSERT ON CONTROLES
FOR EACH ROW
BEGIN
SE' at line 1
merci de votre aide
Partager