Précédent   Forum des professionnels en informatique > PHP > Outils > phpMyAdmin
phpMyAdmin Forum d'entraide sur l'outil phpMyAdmin : installation, utilisation, etc. Avant de poster -> Cours phpMyAdmin
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 07/06/2011, 12h16   #1
Invité de passage
 
Étudiant
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 1
Points : 1
Par défaut Problème Foreign Key

Bonjour,

J'ai un problème avec PHPMyAdmin pour executer mes requêtes SQL.

Il refuse de créer mes tables qui comportent des clés étrangères et pourtant sur le serveur de l'IUT, qui n'utilise pas PHPMyAdmin, ces scripts marchent très bien.

Code :
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE Artiste (idArtiste serial, nomArtiste text, PRIMARY KEY (idArtiste));
 
CREATE TABLE Album (idArtiste int, idAlbum serial, titreAlbum text, annee int, PRIMARY KEY(idAlbum), FOREIGN KEY (idArtiste) REFERENCES Artiste (idArtiste));
 
CREATE TABLE Chanson (noChanson serial, idAlbum int, titreChanson text, duree int, prix numeric(10,2), redevance numeric(10,2), PRIMARY KEY (noChanson, idAlbum), FOREIGN KEY (idAlbum) REFERENCES Album (idAlbum));
 
CREATE TABLE Client (email varchar(255), nomClient text, adresse text, password varchar(255), groupe int, PRIMARY KEY (email));
 
CREATE TABLE Compilation (email varchar(255), idCompil serial, date date, numcartebanc numeric(19), PRIMARY KEY (idCompil), FOREIGN KEY (email) REFERENCES Client (email));
 
CREATE TABLE Rassemble (idCompil int, noChanson int, idAlbum int, PRIMARY KEY (idCompil, noChanson, idAlbum), FOREIGN KEY (idCompil) REFERENCES Compilation (idCompil), FOREIGN KEY (noChanson, idAlbum) REFERENCES Chanson (noChanson,idAlbum));
Apparemment d'après ce que j'ai lu, il faut mettre les tables en type InnoDB pourtant, elles le sont pas défaut.
Il y a d'autres commandes qui prennent en compte des paramètres ON DELETE CASCADE, ON UPDATE CASCADE, etc... qui pourrait m'aider. Mais je ne vois pas du tout à quoi elles servent.


Je vous remercie par avance de votre aide.
Endori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 12h47   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Rajoute l'engine et le charset sur les déclaration de tables:
Code :
CREATE TABLE ma_table ( ... ) ENGINE=InnoDB CHARSET=utf8;
Citation:
Il y a d'autres commandes qui prennent en compte des paramètres ON DELETE CASCADE, ON UPDATE CASCADE, etc... qui pourrait m'aider. Mais je ne vois pas du tout à quoi elles servent.
Les clauses ON_* servent à déterminer un comportement sur des tuples liés par des relations sur lesquelles portent des contraintes. Par exemple ON DELETE CASCADE détruit tous les tuples fils du tuple parent dans les tables liées par des clés étrangères.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/06/2011, 19h44   #3
Invité de passage
 
Étudiant
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 1
Points : 1
Merci !!
C'était aussi simple que ça.
Endori est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h32.


 
 
 
 
Partenaires

Hébergement Web