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 :

clef étrangère à null


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
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut clef étrangère à null
    Bonjour,

    après m'être documenté, j'ai pu me rendre compte qu'une clef étrangère ne peut être null.
    Hors dans ma table j'ai besoin que cela soit possible, du coup je pense que je vais retirer la contrainte d'intégrité avec les on update et les on delete.

    Néanmoins, j'aimerais pouvoir vérifier la cohérence de mes données quand le champ de ma table est non null, en cas d'update et delete.

    Comment je peux donc effectuer cette vérification, dois-je me tourner vers les triggers ou y a t'il une autre solution plus conventionnelle ?
    Avec un trigger, peut-on faire une vérification conditionnelle, ex : si le champ de ma table à une valeur non nulle alors vérifier que cette valeur existe dans la table correspondante.

    Merci d'avance pour votre réponse.

    Cas pratique très condensé de mon problème :

    Table page : contient le champ product_list_id (la valeur est l'id de la table product_list, cependant le champ peut etre null car dans mon cas une page ne contient pas forcément une liste de produit).
    Table product_list : id

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 287
    Par défaut
    Solutions classiques :

    1/ créer un produit zéro, pour représenter les pages sans produit

    2/ insérer une table de plus, ce qui donne :
    page (page_id)
    product_list(id)
    page_prod(page_id, prod_id)

Discussions similaires

  1. contrainte de clef étrangère valeur NULL
    Par danytro dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/11/2012, 23h37
  2. clef étrangère référençant une autre base
    Par menoce dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 06/07/2005, 19h31
  3. 5 clefs étrangères?
    Par P@t dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/05/2005, 16h52
  4. [wamp5] [Relations] Clefs étrangéres
    Par nebule dans le forum Outils
    Réponses: 6
    Dernier message: 05/10/2004, 11h17
  5. [SQL SERVER 2000] Problème clef étrangére
    Par Tankian dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/05/2004, 10h44

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