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

Requêtes MySQL Discussion :

Vérifier l'intégrité référentielle avant d'importer les enregistrements ?


Sujet :

Requêtes MySQL

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Vérifier l'intégrité référentielle avant d'importer les enregistrements ?
    Bonjour tout le monde,

    J'ai une table nommée emails qui contient deux champs :

    1) matricule
    2) email

    Une autre table se nommant "etudiants" contient 3 champs :

    1) matricule
    2) nom
    3) prenom

    matricule de la table "emails" respecte l'intégrité référentielle, c'est-à-dire que je ne peux ajouter une nouvelle ligne QUE si le matricule inséré ce trouve dans la table étudiants.

    Je me demandais si il était possible de :

    1) d'abord vérifier si l'intégrité référentielle est respectée
    2)
    2A) Si IR OK => J'insère toutes les lignes
    2B) autrement, je n'insère aucun enregistrement et mysql m'informe quel matricule est incorrect.

    Est-il possible de faire cela avec mysql ?

    Dois-je passer par PHP ?

    Merci d'avance.

    beegees

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    La façon canonique de faire serait plutôt :

    • ouvrir une transaction
    • tenter d'ajouter les nouvelles lignes
    • si pas d'erreur, COMMIT
    • si erreur, affichage des erreurs et ROLLBACK


    Et oui, c'est possible de le faire avec une procédure stockée MySQL et sans PHP.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Antoun Voir le message
    La façon canonique de faire serait plutôt :

    • ouvrir une transaction
    • tenter d'ajouter les nouvelles lignes
    • si pas d'erreur, COMMIT
    • si erreur, affichage des erreurs et ROLLBACK


    Et oui, c'est possible de le faire avec une procédure stockée MySQL et sans PHP.
    Bonjour,

    Merci pour ta rapide réponse.

    Je ne connaissais pas du tout ces possibilités.

    J'ai lu la doc et franchement, c'est très intéressant.

    Encore merci.

    beegees

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/08/2012, 17h07
  2. Important : Les règles incontournables d'utilisation de ce forum
    Par Community Management dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 20/05/2009, 10h36
  3. Réponses: 7
    Dernier message: 17/03/2009, 17h23
  4. Intégrité référentielle entre les tables
    Par tleboukaka dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/01/2008, 17h09
  5. Types de tables - Support des Intégrités référentielles
    Par danuz dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 11/12/2004, 15h43

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