begin process at 2012 05 26 18:12:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Débutant(s)

 > 

ERREUR ERNO 150 CLE ETRANGERE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ERREUR ERNO 150 CLE ETRANGERE

jeudi 27 novembre 2008 à 14:43:35 | ERREUR ERNO 150 CLE ETRANGERE

didygwatinik

Bonjour,
J'ai une erreue dans la création de ma table notertexte, apparement c'est un problème avec les clés étrangères : j'obtiens l'erreur : Can't create table '.\jeunestalents\notertexte.frm' (errno: 150). Mais je suis incapble de résoudre le problème, voilà mes tables :
$sql="CREATE TABLE NOTERTEXTE(
emetteurNoteTexte varchar(20) NOT NULL,
texteNote int(10) unsigned NOT NULL,
notationTexte int(2) NOT NULL ,
commentaireTexte tinytext,
CONSTRAINT PK_NOTERTEXTE PRIMARY KEY(emetteurNoteTexte,texteNote),
CONSTRAINT FK_NOTERTEXTE FOREIGN KEY (emetteurNoteTexte)
REFERENCES MEMBRE(loginMembre),
CONSTRAINT FK_NOTERTEXTE_2 FOREIGN KEY (texteNote)
REFERENCES TEXTE(idTexte)
)";
$sql="CREATE TABLE TEXTE(
idTexte int(10) unsigned auto_increment NOT NULL UNIQUE,
titreTexte varchar(30) NOT NULL default '',
genreTexte varchar(40) NOT NULL default '',
contenuTexte longtext NOT NULL default '',
nomArtiste varchar(20) NOT NULL default '',
CONSTRAINT PK_Membre PRIMARY KEY(idTexte),
CONSTRAINT FK_TEXTE FOREIGN KEY(nomArtiste)
REFERENCES MEMBRE(nomArtiste)
)";
$sql="CREATE TABLE MEMBRE(
idMembre int(10) unsigned auto_increment NOT NULL UNIQUE,
loginMembre varchar(20) NOT NULL default '',
nomMembre varchar(20) NOT NULL default '',
prenomMembre varchar (20) NOT NULL default '',
motdepasseMembre varchar(8) NOT NULL default '',
mailMembre varchar(50) NOT NULL UNIQUE default '',
avatarMembre varchar(100) default '',
nomArtiste varchar(20),
numMobile varchar(10),
descriptionMembre text,
note varchar(2),
CONSTRAINT PK_Membre PRIMARY KEY(idMembre)
)";
Si quelqu'un pouvait m'aider...
vendredi 28 novembre 2008 à 13:28:53 | Re : ERREUR ERNO 150 CLE ETRANGERE

nhervagault

Administrateur CodeS-SourceS
Salut

Il semblerait que tu travailles dans le mauvais sens

Le bon sens sertait
CREATE TABLE MEMBRE
CREATE TABLE TEXTE
CREATE TABLE NOTERTEXTE

Car les FK référencent des tables qui ne sont pas encore crées.

Ensuite, tes FK mais les sur les identififiants technique si possible.
idMembre, idTexte

Bon courage










vendredi 28 novembre 2008 à 14:10:05 | Re : ERREUR ERNO 150 CLE ETRANGERE

didygwatinik

Oups j'ai mis accepté, mais en fait ça ne marche toujours pas impossible de créer la table notertexte même si je change les FK et que je les mets sur les identifiants
vendredi 28 novembre 2008 à 18:23:11 | Re : ERREUR ERNO 150 CLE ETRANGERE

nhervagault

Administrateur CodeS-SourceS
j'ai pas compris ton dernier message

Tu crees les tables dans le bon ordre.
vendredi 28 novembre 2008 à 18:27:02 | Re : ERREUR ERNO 150 CLE ETRANGERE

didygwatinik

Oui oui mes tables membre et texte sont déjà dans ma base
en fait je veux juste créer ma table notertexte et c'est là que j'ai ce problème erno 150
là j'ai juste mis le schéma des tables mais en réalité j'ai un script par table
vendredi 28 novembre 2008 à 18:33:50 | Re : ERREUR ERNO 150 CLE ETRANGERE

nhervagault

Administrateur CodeS-SourceS
http://mysql.ifrance.com/showthread.php?t=252
http://www.bitbybit.dk/carsten/blog/?p=182
vendredi 28 novembre 2008 à 18:42:06 | Re : ERREUR ERNO 150 CLE ETRANGERE

didygwatinik

Donc il faut que je mette un index : j'ai essayé ca je ne sais pas si la syntaxe va. D'autre part le on delete cascade, je peux le mettre ou?
$liendb=mysql_connect("localhost","root","");
mysql_select_db("jeunestalents");
$sql="CREATE TABLE NOTERTEXTE(
idMembre int(10) NOT NULL,
idTexte int(10) unsigned NOT NULL,
notationTexte int(2) NOT NULL ,
commentaireTexte tinytext,
index(idMembre,idTexte),
CONSTRAINT PK_NOTERTEXTE PRIMARY KEY(idMembre,idTexte),
CONSTRAINT FK_NOTERTEXTE_1 FOREIGN KEY (idMembre)
REFERENCES MEMBRE(idMembre),
CONSTRAINT FK_NOTERTEXTE_2 FOREIGN KEY (idTexte)
REFERENCES TEXTE(idTexte)
)TYPE=InnoDB";
$erreur = mysql_query($sql);
if (!$erreur)
die(mysql_error());
else{echo "Table notertexte créée";}
mysql_close($liendb);
?>


Cette discussion est classée dans : not, default, varchar, constraint, notertexte


Répondre à ce message

Sujets en rapport avec ce message

Requete utilisant un IF (?) [ par Gamer_man ] Bonjour :)J'ai un petit probleme avec une requete...J'explique un peu :Sur mon site, il est possible de poster des commentaires en etant membre ou en erreur : a foreign key constraint fails !!!! [ par vinz78 ] -- phpMyAdmin SQL Dump-- version 2.10.1-- http://www.phpmyadmin.net-- -- Serveur: localhost-- Généré le : Jeu 21 Juin 2007 à 10:53-- Version du serveu Erreur inconnu lors d'une requete d'ajout [ par alucard02 ] BonjourJe bloque devant cette requette simple qui permet l'enregistrement de nouveaux membres :$q1 = "insert into classmates_members set               inserer un tableaux sql [ par mathkas ] salut , comment je pourrais inserer ses tableaux à sql il le voilà code php $sql_array = array( 'DROP TABLE IF EXISTS ' . SMIXMODS_FEED_NEWS_CENTER probleme pour creer le contenu de ma base de donne [ par laloire33150 ] voici mon soucis, je travail avec phpmyadmin et je rentre ma requete dans une fenetre sql et voici l'erreur qu'elle me sort : requête SQL: -- ----- #1005 - Can't create table 'Texloud.tree_elements' (errno: 150) [ par stade13 ] Le bien bonjour à toutes et à tous, voilà j'arrive pas à crée deux tables avec clef étranger voilà mon code CREATE TABLE IF NOT EXISTS `utilisateur` je ne comprend pas ou est le probleme [ par laloire33150 ] Erreur requête SQL: CREATE TABLE annu( id int NOT NULL AUTO_INCREMENT , date varchar( 20 ) NOT NULL , auteur varchar( 50 ) NOT NULL , ns varchar( 5 Problème clé étrangère sous oracle [ par begueradj ] Bonjour, Toute aide sera précieuse (travail sur un projet): Je crée la table voyageur sous ORACLE qui me signale cette erreur: [color=red]ORA-02438: Problème création table avec Netbeans [ par marwen109 ] Bonsoir, j'ai un problème lors de la création de cette table , netbeans m'affiche : [code=autre]Code erreur -1, état SQL 42X01: Erreur de syntaxe : Contrainte bizarre [ par arpala ] Bonjour à tous,Alors voila, pour m'entrainer je m'amuse à créer des tables dans une base de donnée.Mais la je tombe sur un os.Primo mon fichier texte


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales