Maison > base de données > tutoriel mysql > Comment réinitialiser un compteur à incrémentation automatique Postgres ?

Comment réinitialiser un compteur à incrémentation automatique Postgres ?

Mary-Kate Olsen
Libérer: 2025-01-11 15:11:42
original
518 Les gens l'ont consulté

How Do I Reset a Postgres Auto-Increment Counter?

Réinitialisation des séquences d'incrémentation automatique PostgreSQL

PostgreSQL n'utilise pas AUTO_INCREMENT comme MySQL. Au lieu de cela, il utilise des séquences pour gérer les valeurs auto-incrémentées. Pour réinitialiser la valeur de départ d'une séquence, vous devez identifier le nom de la séquence associé à la colonne à incrémentation automatique de votre table.

Tenter d'utiliser ALTER TABLE product AUTO_INCREMENT = 1453 échouera car PostgreSQL ne reconnaît pas cette syntaxe. L'erreur "la relation 'produit' n'existe pas" est courante.

Le nom de la séquence suit généralement le modèle ${table_name}_${column_name}_seq. Pour une table nommée "product" avec une colonne "Id", la séquence serait "product_id_seq".

La commande correcte pour réinitialiser la séquence pour qu'elle démarre à 1453 est :

<code class="language-sql">ALTER SEQUENCE product_id_seq RESTART WITH 1453;</code>
Copier après la connexion

Pour trouver le nom de séquence correct, utilisez la commande d dans l'outil de ligne de commande psql. Par exemple, d product affichera la définition de la table, y compris le nom de séquence utilisé par toutes les colonnes auto-incrémentées (via une contrainte par défaut). Alternativement, vous pouvez utiliser une requête telle que SELECT pg_catalog.pg_get_serial_sequence('product', 'id'); pour récupérer directement le nom de la séquence.

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