Comment effectuer un incrémentation automatique PostgreSQL

Comment Effectuer Un Incrementation Automatique Postgresql



Une façon de garantir les identités uniques dans votre base de données PostgreSQL consiste à utiliser la fonctionnalité d'incrémentation automatique. Lorsqu'elle est activée, cette fonctionnalité génère une identité unique pour chaque nouvelle entrée de votre table. Avec l'auto-incrémentation, si vous essayez d'insérer une nouvelle valeur avec le même identifiant unique, cela générera une erreur. L'incrémentation automatique peut être utilisée dans différentes instances et vous pouvez définir la manière dont vous souhaitez que l'identifiant unique soit généré. Plus de détails sur l'incrémentation automatique de PostgreSQL sont détaillés dans cet article. Continuer à lire!

Deux méthodes pour l'incrémentation automatique de PostgreSQL

Lors de la création d'une base de données, vous devez disposer d'une clé primaire pour chaque table afin de garantir qu'aucun doublon n'apparaisse dans les tables. Une façon de créer les clés primaires consiste à utiliser la fonction d'incrémentation automatique pour le type de données INT. PostgreSQL génère la valeur de clé primaire pour toutes les entrées, libérant ainsi le développeur des tracas liés à la saisie manuelle de la clé primaire.

Il existe deux approches que vous pouvez utiliser pour créer une incrémentation automatique dans votre base de données PostgreSQL.







Méthode 1 : Utilisation du pseudo-type SERIAL

La manière par défaut de créer une incrémentation automatique pour les clés primaires de votre base de données consiste à utiliser le mot-clé SERIEL. Lorsqu'il est utilisé, le pseudo-type SERIAL crée une séquence pour générer les valeurs. Il note la valeur suivante dans la séquence et chaque fois que vous insérez une nouvelle valeur, une identité unique lui est attribuée.



Notez que cet incrément automatique est affecté à un type de données INT et est supprimé une fois la table ou la colonne supprimée.



Voici la syntaxe pour créer un incrémentation automatique :





CRÉER TABLEAU NOM DE LA TABLE ( id type_données SÉRIE ) ;

Pour notre cas, créons une table nommée « détails » qui contient le « user_id » comme notre incrémentation automatique et notre clé primaire. Nous incluons également deux autres colonnes.



Lorsque nous voulons insérer les valeurs dans notre table, nous insérons uniquement pour les autres colonnes et laissons de côté la colonne à incrémentation automatique car ses valeurs sont générées automatiquement. Voici un exemple où nous ajoutons cinq entrées à notre table :

Lorsque nous utilisons l'instruction SELECT pour vérifier les enregistrements de la table, notez que la colonne « user_id » contient des identités uniques qui, dans notre cas, sont des nombres commençant à 1. Voilà comment effectuer l'auto-incrémentation PostgreSQL en utilisant le pseudo-type SERIAL.

Méthode 2 : créer une séquence

Lorsque vous utilisez le pseudo-type SERIAL pour créer les valeurs d'incrémentation automatique, vous ne contrôlez pas la façon dont vos identités uniques sont créées. Pour l'exemple précédent, nous avons vu que nos identités uniques partent de 1. Cependant, si vous souhaitez contrôler ces valeurs, disons que vous souhaitez définir à quel moment commencer à les générer, vous devez créer une séquence personnalisée.

PostgreSQL a l'option SEQUENCE où vous pouvez spécifier le nom de la colonne à utiliser pour l'auto-incrémentation et définir la valeur de départ de la colonne. Par exemple, si nous voulons commencer les valeurs à partir de 100, nous créons la séquence personnalisée suivante :

CREATE SEQUENCE nom_colonne valeur_début ;

Après avoir créé la séquence, vous pouvez maintenant créer votre table. Notez que vous devez utiliser le même nom de colonne que celui pour lequel vous avez créé une séquence, comme « nextval('holder') » pour la table créée. De cette façon, PostgreSQL référence la séquence pour savoir quel ordre suivre lors de la génération de l'identité unique des colonnes.

Nous exécutons la commande suivante pour créer notre table :

Continuez à insérer les valeurs dans le tableau créé pour les colonnes pertinentes.

Lorsque nous exécutons la requête « select » pour lister les entrées de la table, nous pouvons voir que nous avons réussi à contrôler notre incrémentation automatique. La colonne « user_id » commence sa valeur à 100 et génère les valeurs suivantes pour les autres entrées que nous insérons dans la table.

C'est l'autre façon de créer l'auto-incrémentation pour PostgreSQL.

Conclusion

La création d'un incrément automatique est bénéfique pour créer un caractère unique dans votre table. Lorsque vous souhaitez définir une clé primaire pour votre table, utilisez la fonction d'incrémentation automatique pour le type de données INT. PostgreSQL génère automatiquement les valeurs, garantissant qu'aucun doublon n'existe dans votre table. Nous avons défini comment créer l'incrémentation automatique pour PostgreSQL et fourni deux exemples des deux méthodes que vous pouvez utiliser. Les deux méthodes sont applicables selon le scénario que vous avez. Essayez-les!