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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Problème Foreign Key [phpMyAdmin]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 11
    Points : 24
    Points
    24
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Rajoute l'engine et le charset sur les déclaration de tables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE ma_table ( ... ) ENGINE=InnoDB CHARSET=utf8;
    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.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 11
    Points : 24
    Points
    24
    Par défaut
    Merci !!
    C'était aussi simple que ça.

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

Discussions similaires

  1. [MySQL-5.1] error code: 1005.problème foreign key
    Par janyoura dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/07/2013, 19h29
  2. Problème foreign key avec hibernate
    Par souhait dans le forum Hibernate
    Réponses: 5
    Dernier message: 05/09/2008, 15h23
  3. Problème Foreign Key : "ErrCode:150"
    Par seangg dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 19/08/2008, 15h53
  4. Problème foreign Key
    Par Itori dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/05/2008, 09h06
  5. [REFERENCES/FOREIGN KEY]problème d'unicité de clé
    Par Guigui_ dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/01/2005, 16h47

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