bonjour j'aimerai créer une table facture et utiliser auto_increment mais j'aimerai ne pas avoir FAC1 / FAC2 / FAC3 mais plutot FAC00001 / FAC00002 / FAC00003
comment faire s'il vous plait ?
bonjour j'aimerai créer une table facture et utiliser auto_increment mais j'aimerai ne pas avoir FAC1 / FAC2 / FAC3 mais plutot FAC00001 / FAC00002 / FAC00003
comment faire s'il vous plait ?
L'auto-incrémentation ne fonctionne que sur une colonne de type entier. Il faut donc faire un trigger à l'insertion pour construire la valeur du numéro de facture souhaité.
Ceci n'empêche pas une colonne auto-incrémentée et qui servira de clé primaire ; bien au contraire !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
oui mon id est un type int()
donc je fais un trigger sur ma table facture, je récupère le numéro dans inserted et je rajoute 0000 en concaténation ?
À voir en pratique, je ne l'ai jamais fait, mais c'est l'idée.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
ou alors le crée une fonction en php tout bêtement qui compte le nombre de caractères.
Je retourne le ID de la facture exemple 34.
je compte length donc 2. Puis vu que je veux 6 caractères je rajoute en php 0000.
Sa peut marcher et m'éviter des trucs trop compliqué non ?
Ça veut dire que ton insertion de facture se fera en 3 temps :
1) Insertion d'une nouvelle facture sans numéro.
2) Récupération de INSERTED_ID.
3) UPDATE pour mettre le numéro de facture.
En principe, avec un TRIGGER tu ne devrais avoir besoin que d'une seule transaction vers le serveur MySQL.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager