salutation, Est ce que c'est acceptable d'insérer dans une table une ligne ayant le clé primaire avec la valeur a zéro (type de clé primaire est int)?
salutation, Est ce que c'est acceptable d'insérer dans une table une ligne ayant le clé primaire avec la valeur a zéro (type de clé primaire est int)?
Pourquoi pas ?
Ça peut être utile quand il y clé étrangère référençant la table où elle se trouve, comme dans le cas par exemple de catégories et sous-catégories ou de chapitres et sous-chapitres ou de parent et enfant...
On crée une fausse ligne d'identifiant zéro pour que la clé étrangère de la racine de l'arbre ne soit pas vide.
id / libelle / id_parent
0 / '' / 0
1 / 'Véhicules' / 0
2 / 'Véhicules terrestres / 1
3 / 'Véhicules marins' / 1
4 / 'Vélo' / 2
5 / 'Bateau à moteur' / 3
6 / 'Bateau à voile' / 3
La précaution à prendre est d'initialiser l'auto-incrémentation de l'identifiant après avoir créé la ligne zéro.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
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 !
Partager