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);
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, '');
le codeunique est composé par année de la date de naissance suivie de codesexe puis 6 chiffres incrémentés automatiquement.
J'ai créé cette requête:
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'));
Mais l'incrémentation automatique ne marche pas.
On doit obtenir un résultat comme suit:

Merci de m'aider