Maison > base de données > tutoriel mysql > Comment implémenter la fonctionnalité AUTO_INCREMENT dans PostgreSQL ?

Comment implémenter la fonctionnalité AUTO_INCREMENT dans PostgreSQL ?

Linda Hamilton
Libérer: 2025-01-22 11:47:13
original
704 Les gens l'ont consulté

How to Implement AUTO_INCREMENT Functionality in PostgreSQL?

Numérotation automatique PostgreSQL : implémenter la fonction AUTO_INCREMENT

Créer une table contenant une colonne AUTO_INCREMENT dans PostgreSQL peut être difficile, comme le montre l'erreur de syntaxe rencontrée dans l'exemple fourni. Pour résoudre ce problème, nous devons connaître la syntaxe correcte de AUTO_INCREMENT dans PostgreSQL.

Contrairement à d'autres systèmes de bases de données, PostgreSQL n'a pas de type de données AUTO_INCREMENT dédié. Au lieu de cela, il propose deux manières de générer automatiquement des valeurs séquentielles :

PostgreSQL 10 et supérieur

Colonne IDENTITÉ :

À partir de PostgreSQL 10, les colonnes SQL IDENTITY standard peuvent être utilisées. Ces colonnes peuvent être générées par défaut ou toujours de manière déterministe.

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

CREATE TABLE staff (
  staff_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  staff    TEXT NOT NULL
);
Copier après la connexion

PostgreSQL 9.6 et versions antérieures

Type de données SÉRIE :

Dans ces anciennes versions, le pseudo type de données SERIAL était utilisé pour l'auto-incrémentation des clés primaires. Il crée automatiquement une séquence et définit la valeur DEFAULT sur la valeur suivante de la séquence.

Pour créer un tableau avec des colonnes SERIAL :

CREATE TABLE staff (
  staff_id SERIAL PRIMARY KEY,
  staff    TEXT NOT NULL
);
Copier après la connexion

En utilisant ces méthodes, vous pouvez créer des tables dans PostgreSQL avec des valeurs séquentielles générées automatiquement comme clés primaires.

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!

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