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

SQL Procédural MySQL Discussion :

contrôle d'intégrité sous InnoDB


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 26
    Par défaut contrôle d'intégrité sous InnoDB
    Bonjour,

    Sous MySql v4.0.18.
    J'ai 2 tables A et B. Dans B le champ B50, une clé étrangère qui pointe vers la clé primaire de A (table référentiel) dont le nom est A1 avec par défaut la valeur '999999' sur ce champ.

    En clair :
    FOREIGN KEY (B50) REFERENCES A (A1) ON UPDATE CASCADE
    sachant que `B50` varchar(11) default '999999'

    Pourtant quand j'effectue un INSERT dans ma table B sur le champ B50, le contrôle d'intégrité refuse les champs vides et les clés absentes de la table A et donc plantage du programme.

    J'attendais que les champs vides et les clés absentes de A soient à '999999'.

    Ce fonctionnement est-il normal et le cas échéant comment est-ce que je peux obtenir ce qui m'intéresse ?

    Merci pour votre aide

    Halina

  2. #2
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    A mon avis, ce comportement est normal. Maintenant, pour que '999999' soit acceptable, il faudrait que la table de référence contienne une ligne avec cette clé. c'est le cas ?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 26
    Par défaut contrôle d'intégrité sous InnoDB
    Avant de charger ma base et donc d'effectuer les contrôles d'intégrité,
    j'ai effectué une correction des données qui ne correspondait pas au référentiel.
    Mais j'aurais préféré que MySql me demande de définir les valeurs manquantes et erronées et la manière de les gérer ...

    Merci Adjanakis

    Halina

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contrôle application utilisateurs sous Unix
    Par joselito54 dans le forum Unix
    Réponses: 1
    Dernier message: 06/03/2009, 13h01
  2. pointer un contrôle d'un sous formulaire
    Par mouam dans le forum VBA Access
    Réponses: 9
    Dernier message: 09/02/2009, 21h21
  3. Contrôle des saisies sous DeskI 11.5.0.0
    Par samy37 dans le forum Deski
    Réponses: 1
    Dernier message: 23/05/2008, 09h44
  4. Contrainte d'integrité et transaction sous InnoDB
    Par Hervé Saladin dans le forum Requêtes
    Réponses: 8
    Dernier message: 11/12/2006, 22h45
  5. variation du nombre enregistrements sous innodb
    Par halina dans le forum Outils
    Réponses: 4
    Dernier message: 30/06/2005, 16h40

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