Auto-incrément : démarrer à 1

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Jean-Pierre
Fraîchement OOthentifié
Messages : 8
Inscription : 10 nov. 2005 21:48
Localisation : 64

Auto-incrément : démarrer à 1

Message par Jean-Pierre »

Salut,

Une petite question pour commencer :
peut-on faire commencer les champs auto-incrémentés à 1 au-lieu de 0 (zéro) dans une base HSQL ?

A+

OOo 2 + winXP
Tomahawk
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 17 nov. 2005 17:30
Localisation : Toulouse

Message par Tomahawk »

Pour commencer à 1 je ne sais pas.
Pour bidouiller un peu, il suffit de créer une ligne qui sera à 0 et ensuite de la supprimer, normalement, il ne revient pas en arrière dans la numérotation.
C'est d'ailleurs pour cela qu'il ne faut pas se servir de le numérotation auto comme compteur de ligne, mais plustôt utilisé un calcul.
Car il suffit de supprimer une ligne de temps en temps pour que la num auto ne correspond plus à rien (ça sert juste à ne pas avoir 2 lignes identiques dans les tables).

a+
OOo : 2.3.0 sous Linux Ubuntu 7.10
Jean-Pierre
Fraîchement OOthentifié
Messages : 8
Inscription : 10 nov. 2005 21:48
Localisation : 64

Message par Jean-Pierre »

Merci pour la réponse et pour la mise en garde sur le comptage de lignes, je n' avais pas pensé à ce problème de suppression.

A+, Jean-Pierre.
athurgood
Membre OOrganisé
Membre OOrganisé
Messages : 71
Inscription : 09 déc. 2005 10:42

Message par athurgood »

Tomahawk a écrit :C'est d'ailleurs pour cela qu'il ne faut pas se servir de le numérotation auto comme compteur de ligne, mais plustôt utilisé un calcul.
Car il suffit de supprimer une ligne de temps en temps pour que la num auto ne correspond plus à rien (ça sert juste à ne pas avoir 2 lignes identiques dans les tables).
a+
C'est pour cela que l'on utilise l'instruction SELECT COUNT(*) ;-)

Pour le problème des zéros, je l'ai rencontré aussi, et de mémoire cette question avait été posée sur users[à]dba.openoffice.org, mais je ne me rappelle plus de la réponse.

Alex