Maison > base de données > tutoriel mysql > Comment implémenter des colonnes à incrémentation automatique dans PostgreSQL ?

Comment implémenter des colonnes à incrémentation automatique dans PostgreSQL ?

Patricia Arquette
Libérer: 2025-01-22 11:27:08
original
1016 Les gens l'ont consulté

How to Implement Auto-Incrementing Columns in PostgreSQL?

Explication détaillée de la façon d'implémenter les colonnes à incrémentation automatique PostgreSQL

Lors de la création d'une table dans PostgreSQL, vous pouvez rencontrer des erreurs lorsque vous essayez d'utiliser l'option AUTO_INCREMENT pour une colonne de clé primaire. Cet article aborde ce problème et propose une solution complète pour les colonnes de tableau à incrémentation automatique.

Erreur de syntaxe AUTO_INCREMENT

Le message d'erreur rencontré indique une erreur de syntaxe liée au mot clé AUTO_INCREMENT. PostgreSQL ne prend pas en charge le mot-clé AUTO_INCREMENT. Au lieu de cela, il utilise différentes techniques pour générer automatiquement des valeurs de clé primaire.

PostgreSQL 10 et versions ultérieures : colonne IDENTITÉ

Pour PostgreSQL 10 et versions ultérieures, la méthode préférée pour incrémenter automatiquement les clés primaires est la colonne IDENTITÉ. Une colonne IDENTITY est un type spécial de colonne qui génère automatiquement une valeur unique pour chaque ligne.

Pour créer un tableau avec une colonne IDENTITÉ :

<code class="language-sql">CREATE TABLE staff (
  staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  staff text NOT NULL
);</code>
Copier après la connexion
La clause

GENERATED ALWAYS garantit que les valeurs des colonnes sont automatiquement générées même si les valeurs sont fournies explicitement dans l'instruction INSERT.

PostgreSQL 9.6 et versions antérieures : colonne série

Pour PostgreSQL 9.6 et versions antérieures, le pseudo-type de données série peut être utilisé pour incrémenter automatiquement les clés primaires. La colonne série crée un objet séquence en arrière-plan et définit automatiquement la valeur par défaut de la colonne sur la valeur suivante de la séquence.

Pour créer un tableau avec une colonne série :

<code class="language-sql">CREATE TABLE staff (
  staff_id serial PRIMARY KEY,
  staff text NOT NULL
);</code>
Copier après la connexion

Remplacer la valeur par défaut

Les colonnes IDENTITY et série génèrent automatiquement des valeurs, mais vous pouvez remplacer ces valeurs à l'aide de la syntaxe OVERRIDING SYSTEM|USER VALUE dans l'instruction INSERT.

Notes supplémentaires

  • Il est recommandé d'utiliser des colonnes IDENTITY au lieu de colonnes série dans PostgreSQL 10 et supérieur.
  • Dans PostgreSQL, préférez les identifiants légaux, en minuscules et sans guillemets pour simplifier la gestion des bases de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal