Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2006, 00h43   #1
En attente de confirmation mail
 
Inscription : mars 2005
Messages : 77
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 77
Points : 30
Points : 30
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 :
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
WalidNat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 09h21   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Il manque l'indication de la contrainte de FK...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[LEFT]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 ;[/LEFT]
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
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h46.


 
 
 
 
Partenaires

Hébergement Web