Bonjour,
Je cherche à créer une procédure/requête sous MySQL, qui permette de générer un code à partir des champs date de naissance et codesexe.
Par exemple, j'ai la table Personne:
Personne(id, datenaiss, codesexe, codeunique);
le codeunique est composé par année de la date de naissance suivie de codesexe puis 6 chiffres incrémentés automatiquement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE TABLE IF NOT EXISTS `personne` ( `id` int(11) DEFAULT NULL, `datenaiss` date DEFAULT NULL, `codesexe` int(11) DEFAULT NULL, `codeunique` varchar(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `personne` (`id`, `datenaiss`, `codesexe`, `codeunique`) VALUES (1, '2000-05-18', 1, ''), (2, '2000-05-18', 1, ''), (3, '2003-10-05', 0, ''), (4, '2003-10-05', 1, ''), (5, '2003-10-05', 0, '');
J'ai créé cette requête:
Mais l'incrémentation automatique ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UPDATE Personne SET codeunique=CONCAT( YEAR(datenaiss), codesexe, RPAD(codeunique,10,'0'));
On doit obtenir un résultat comme suit:
Merci de m'aider
Partager