J'ai besoin de numéro de référence unique combinant l'année avec le champ d'incrémentation automatique (comme 17001 .. ici 17 est le dernier deux chiffres de 2017 et 001 est le champ d'incrémentation automatique) créer cette combinaison en utilisant des déclencheurs, mais mon problème est quand la nouvelle année commence incrémentation automatique devrait commencer de 001 à nouveau (comme 18001 quand 2018 commence) ..réinitialiser l'incrément automatique à zéro dans le déclencheur mysql lorsque l'année en cours a changé
Merci à l'avance
mon nom de la table est Chalan et une table de déclenchement NAMEM est chalan_seq
mon code est:
DELIMITER $$
CREATE TRIGGER tg_chalan_insert
BEFORE INSERT ON chalan
FOR EACH ROW
BEGIN
DECLARE curdate INT;
DECLARE lastdate INT;
SET curdate = DATE_FORMAT(CURDATE(), '%y');
SET lastdate = (SELECT SUBSTR(ref,5,2) from chalan order by ref DESC LIMIT 1
);
END
if(curdate != lastdate)
BEGIN
DELETE FROM chalan_seq;
ALTER TABLE chalan_seq AUTO_INCREMENT = 0;
END$$
ELSE
BEGIN
INSERT INTO chalan_seq VALUES (NULL);
SET NEW.ref = CONCAT('GEMS',DATE_FORMAT(CURDATE(), '%y'),
LPAD(LAST_INSERT_ID(), 3, '0'));
END$$
DELIMITER ;
Est-ce que votre version de MySQL l'accepte réellement? – Uueerdo
Vous en avez vraiment besoin? il y a très peu d'avantages sur la séquence de redémarrage à 0 chaque année, –