Bonjour.

J'ai un souci : je veux que lorsque j'ajoute un enregistrement, calculer un MAX de plusieurs lignes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
CREATE TABLE regles (
	idRegles INT PRIMARY KEY AUTO_INCREMENT,
	materiel INT NOT NULL,
	priorite INT,
) ENGINE = innoDB;
Je me suis dit qu'un trigger ferait l'affaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
CREATE TRIGGER TRIG_AJOUT_REGLE BEFORE INSERT ON regles FOR EACH ROW
BEGIN	
	SET new.priorite = MAX(priorite) FROM regles WHERE materiel = new.materiel;
END
Et bien sûr ça marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ERROR 1064 (42000): 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 'SET new.priorite = MAX(priorite) FROM regles WHERE materiel = new.materiel;
END' at line 3
Quelqu'un a une piste ?
D'avance merci.