IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Firebird Discussion :

Cle primaire non unique


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Par défaut Cle primaire non unique
    Bonsoir tout le monde;
    Je ne comprend pas, j'ai créé une table avec un clé primaire ID mais après une erreur de saisie des utilisateurs, j'ai trouvé qu'elle contient deux lignes avec la même valeur du champ ID.
    Pourtant je pensais qu'une clé primaire est systématiquement unique
    Qui peut m'exclaircire.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 591
    Par défaut
    Bonjour,

    Effectivement, une clé primaire est toujours unique. C'est obligatoire afin de pouvoir créer des liaisons avec d'autres tables (Clés étrangères)

    Pour t'aider, il faudrait le script de création de ta table, afin de vérifier si la clé créée est bien primaire et non simplement une simple clé.

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CREATE TABLE "ROTATIONS" (   "CODE_ROT"	INTEGER,   "PROGRAMME"	INTEGER,   "CITERNE"	CHAR(6),   "NBR_LIVRAISON"	SMALLINT,   "DEPO_APPRO"	CHAR(6),   "TEMPS_SERVICE"	TIME,   "CHAUFFEUR"	CHAR(6),   "DEBUT_SERVICE"	TIME,   "NOM_CHAUFFEUR"	CHAR(20),   "DISTANCE"	FLOAT,   "EXECUTEE"	SMALLINT,   "ANNULLEE"	SMALLINT, CONSTRAINT "PK_ROTATIONS" PRIMARY KEY ("CODE_ROT") );

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 591
    Par défaut
    Bonjour,

    Ta table me semble correcte, sauf peut-être pour l'index qui devrait comporter la mention not null

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     CREATE TABLE "ROTATIONS" 
    ("CODE_ROT" INTEGER NOT NULL,
    etc pour la suite de ton script)
    Mais ceci n'explique pas la raison de ton problème.

    Tu peux présenter les lignes de ta table qui font doublons sur la clé primaire. Ainsi nous pourrons tenter de reproduire l'incident.

    Tu peut indiquer la version Firebird que tu utilises

    Présentation plus lisible de ta table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     CREATE TABLE "ROTATIONS" (
       "CODE_ROT"	         INTEGER,   
       "PROGRAMME"	         INTEGER,   
       "CITERNE"	         CHAR(6),   
       "NBR_LIVRAISON"	 SMALLINT,   
       "DEPO_APPRO"	         CHAR(6),   
       "TEMPS_SERVICE"	 TIME,   
       "CHAUFFEUR"	         CHAR(6),    
       "DEBUT_SERVICE"	 TIME,    
       "NOM_CHAUFFEUR"	 CHAR(20),   
       "DISTANCE"	         FLOAT,   
       "EXECUTEE"	         SMALLINT,   
       "ANNULLEE"	         SMALLINT, 
    CONSTRAINT "PK_ROTATIONS" PRIMARY KEY ("CODE_ROT") );
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Par défaut
    Bonsoir; J'ai essaiyé plusieurs fois de corriger la présentation de la table, mais pas moyens; lors de la saisie c'est bon mais une fois envoyé la présentation et fausse. Merci pour la bonne présentation. Ma version de Firebird est 2.5.1. Pour les doublons, je dis que ces des lignes avec la même valeur pour le champ Code_rot.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 591
    Par défaut
    Bonsoir,

    J'ai essaiyé plusieurs fois de corriger la présentation de la table, mais pas moyens; lors de la saisie c'est bon mais une fois envoyé la présentation et fausse.
    Qu'entends-tu par envoyer ? Il s'agit d'un Post, d'une requête avec Update ou autre. Dans ce cas, tu n'oublies pas de faire un Commit

    Pour être insérées dans la table, les informations doivent être traitées par une transaction. Es-tu certain que celle-ci se déroule correctement ?

    S'il existe une erreur au moment du commit, ton application doit l'afficher.

    Si tu supprimes la ligne en doublon et que tu fais une nouvelle création, que ce passe-t-il ? Fais un essai sur un seul doublon, cela te donnera une idée.

    Je te présente des moyens de correction, mais nous n'avons toujours pas les raisons du dysfonctionnement.

    A+

Discussions similaires

  1. [MySQL] PhpMyadmin cle primaire et unique
    Par bibi28 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/08/2014, 14h59
  2. [10g] Hash partition et cle non unique
    Par isa06 dans le forum Administration
    Réponses: 0
    Dernier message: 02/07/2009, 11h57
  3. cle primaire cle unique
    Par crazykangourou dans le forum Oracle
    Réponses: 2
    Dernier message: 06/12/2006, 14h11
  4. [ db2 ] cle primaire autoincrement
    Par hocinema dans le forum DB2
    Réponses: 4
    Dernier message: 25/02/2004, 14h20
  5. XSD, Cle primaire...
    Par Goupil dans le forum Valider
    Réponses: 3
    Dernier message: 21/10/2003, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo