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

Outils MySQL Discussion :

intégrité référentielle non prise en compte


Sujet :

Outils MySQL

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 69
    Points
    69
    Par défaut intégrité référentielle non prise en compte
    Bonsoir,
    j'utilise des tables avec le moteur innodb et phpmyadmin. J'ai une table album (clé primaire: id_album) et une table photo(clé primaire: id_photo, clé étrangère: id_album).

    voici l'ordre sql pr créer la table photos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE `photo` (
      `id_photo` int(11) NOT NULL auto_increment,
      `nom` varchar(40) default NULL,
      `description` text,
      `fichier` varchar(40) NOT NULL,
      `id_album` int(11) NOT NULL,
      PRIMARY KEY  (`id_photo`),
      KEY `id_album` (`id_album`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;
    Seulement quand j'essaye de lier album à photo avec la gestion des relations, il prend pas en compte les changements. Pouvez vous m'aider à lier ces 2 tables, à la rigueur en me montrant la syntaxe sql je recréerais mes tables.
    Je vous remercie beaucoup

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 919
    Points : 6 035
    Points
    6 035
    Par défaut
    Il manque l'indication de la contrainte de FK...
    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 `photo` ( `id_photo` int(11) NOT NULL auto_increment, `nom` varchar(40) default NULL, `description` text, `fichier` varchar(40) NOT NULL, `id_album` int(11) NOT NULL, PRIMARY KEY (`id_photo`), KEY `id_album` (`id_album`) , FOREIGN KEY(id_album) REFERENCES ALBUM(id_album) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;
    Pour la clause ON DELETE, tu peux aussi utiliser
    qui permet de supprimer toutes les photos de l'album que détruit.

    Toutes les précisions ici http://dev.mysql.com/doc/refman/5.0/...nstraints.html

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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