culture [MySQL]Création de table impossible FOREIGN KEY ???

Statut
La discussion n'est pas ouverte à d'autres réponses
Salut à tous ceux qui passerons par là et voudrais m'aider :)
Voilà le probleme, pour un site web de dictionnaire en ligne je dois gérer une base de donnée. L'ennui c'est que l'ors de son execution pour la création des tables deux tables ne veulent pas se créer :(

voici tout le code
Code:
CREATE TABLE Accounts(
    Login VARCHAR(40),
    Password VARCHAR(40),
    First_Name VARCHAR(20),
    Last_Name VARCHAR(20),
    Status_Account CHAR(1),
    PRIMARY KEY (Login)
);

CREATE TABLE Themes(
    Theme_Name VARCHAR(30),
    PRIMARY KEY (Theme_Name)
);

CREATE TABLE Words(
    ID_Word INT AUTO_INCREMENT,
    Word VARCHAR(30),
    Plural VARCHAR(40),
    Word_Definition BLOB,
    Ethymology VARCHAR(200),
    Language CHAR(2),
    Status_Word CHAR(1),
    Contributor_Login VARCHAR(40),
    Word_Theme VARCHAR(30),
    PRIMARY KEY (ID_Word),
    FOREIGN KEY (Contributor_Login) REFERENCES Accounts(Login),
    FOREIGN KEY (Word_Theme) REFERENCES Themes(Theme_Name)
);

CREATE TABLE Modified_Word(
    ID_Modified_Word INT,
    Modified_Word VARCHAR(30),
    Modified_Plural VARCHAR(40),
    Modified_Word_Definition BLOB,
    Modified_Ethymology VARCHAR(200),
    Modified_Language CHAR(2),
    PRIMARY KEY (ID_Modified_Word),
    FOREIGN KEY (ID_Modified_Word) REFERENCES Words(ID_Word)
);

CREATE TABLE Synonymous(
    First_ID_Synonymous INT,
    Second_ID_Synonymous INT,
    Synonymous_Status CHAR(1),
    PRIMARY KEY (First_ID_Synonymous, Second_ID_Synonymous),
    FOREIGN KEY (First_ID_Synonymous) REFERENCES Words(ID_Words),
    FOREIGN KEY (Second_ID_Synonymous) REFERENCES Words(ID_Words)
);

CREATE TABLE Translation(
    First_ID_Translation INT,
    Second_ID_Translation INT,
    Translation_Status CHAR(1),
    PRIMARY KEY (First_ID_Translation, Second_ID_Translation),
    FOREIGN KEY (First_ID_Translation) REFERENCES Words(ID_Words),
    FOREIGN KEY (Second_ID_Translation) REFERENCES Words(ID_Words)
);

En gros la table translation et synonymous ne peuvent être créées. Toutes deux sont pointées sur leurs chaps Synonymous_Status et Translation_Status avec l'erreur suivante : Supports transactions, row-level locking, and foreign keys

J'aiévidement vérifié maintes fois les clefs étrangères mais sans succès.
 
Dernière édition:
Hello,

Je m'y connais pas trop en bases de données, mais tu pourrais effectuer la commande DROP Foreign Keys sur les clés que tu veux créer voir si elles sont pas existantes ?


Sinon, tu pourrais nous mettre le log d’exécution plutôt ?
 
En fait je ne peut rien drop puisque les deux dernières tables ne sont pas générées, et le script d’exécution est inutile puisque pour le moment les tables sont crées par injections SQL directement dans phpmyadmin :( Mais le script plus tard serais en php et sa donnerai un truc du genre, je me connecte a la base, je lis le contenu du fichier qui contient le code ci-dessus, et je l'envoie a la base, autrement dis sa reviendra au même
 
salut,

la clé primaire de la table Words est ID_Word mais tu essaye de crée une clé étrangère sur ID_Words .
Il y a un "s" en trop.
 
Statut
La discussion n'est pas ouverte à d'autres réponses
Retour
Haut