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.