Bonjour à tous,

J'ai une table qui se constitue comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE TABLE `licences` (
 
  `id` int(6) NOT NULL auto_increment,
 
  `numSerie` int(11) NOT NULL,
 
  `societe` int(11) NOT NULL,
 
  `type` smallint(6) NOT NULL,
 
  `hd` varchar(200) NOT NULL,
 
  `cm` varchar(200) NOT NULL,
 
  PRIMARY KEY  (`id`),
 
  KEY `societe` (`societe`,`type`),
 
  KEY `soc_fk_prd` (`type`)
 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
J'aimerais que le champs numSerie s'incrémente seul , mais et c'est là ou je ne sais pas faire, en fonction de type.
C'est à dire que si type =1 mon autoincrément peut être à 5 mais si si type = 2 il pourra être a 250.
Le but là derrière serait de ne pas avoir à faire un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT MAX(numSerie) WHERE type=x
avant de faire l'insert.

Si jamais il n'ya pas de solution , comment garantir que le numSerie récupéré par le SELECT est le bon et qu'il n'ya pas eu un nouvel enregistrement entre le select et l'insert ?