Create table

Bonjour,
Voici le create table de ma table notertexte :
<?php
$liendb=mysql_connect("localhost","root","");
mysql_select_db("jeunestalents");
$sql="CREATE TABLE NOTERTEXTE(
loginMembre varchar(20) NOT NULL,
idTexte int(10) unsigned NOT NULL,
notationTexte int(2) NOT NULL ,
commentaireTexte tinytext,
CONSTRAINT PK_NOTERTEXTE PRIMARY KEY(loginMembre,idTexte),
CONSTRAINT FK_NOTERTEXTE_2 FOREIGN KEY (idTexte)
REFERENCES TEXTE(idTexte),
CONSTRAINT FK_NOTERTEXTE_1 FOREIGN KEY (loginMembre)
REFERENCES MEMBRE(loginMembre)
)";
$erreur = mysql_query($sql);
if (!$erreur)
die(mysql_error());
else{echo "Table notertexte créée";}
mysql_close($liendb);
?>


J'ai l'erreur suivante : Can't create table '.\jeunestalents\notertexte.frm' (errno: 150)
Quelqu'un pourrait-il m'expliquer, je ne vois pas!!
Configuration: Windows XP
Firefox 3.0.4

5 réponses

  1. et si tu ne mets pas les clés étrangères ?
    0
    1. Sans les clés étrangères ça marche, donc j'ai essayé de faire sans mettre les clés étrangères et ensuite de faire un alter table mais c'est toujours la même erreur, tu pourrais m'aider?
      0
  2. Est-ce que tes clés sont du même format ? quelle erreur te sort-il ? tu pourrais nous montrer ton alter table ? Et enfin quel est ton SGBD ?
    0
    1. Clés du même format? Ca veut dir quoi exactement, je sais quelles sont de même types, quand je fais mon alter table j'ai l'erreur : Can't create table '.\jeunestalents\notertexte.frm' (errno: 150).
      Mon alter table est le suivant :
      <?php
      $liendb=mysql_connect("localhost","root","");
      mysql_select_db("jeunestalents");
      $sql="ALTER TABLE NOTERTEXTE
      ADD CONSTRAINT PK_NOTERTEXTE PRIMARY KEY(loginMembre,idTexte),
      ADD CONSTRAINT FK_NOTERTEXTE_2 FOREIGN KEY (idTexte)
      REFERENCES TEXTE(idTexte),
      ADD CONSTRAINT FK_NOTERTEXTE_1 FOREIGN KEY (loginMembre)
      REFERENCES MEMBRE(loginMembre)
      ";
      $erreur = mysql_query($sql);
      if (!$erreur)
      die(mysql_error());
      else{echo "Table notertexte créée";}
      mysql_close($liendb);
      ?>
      0
  3. Est-ce que ton idTexte est "unsigned" sur tes 2 tables ? et ton interclassement est pareil aussi ?
    0
    1. oui il est en unsigned sur les 2 tables par contre il n'y a rien dans l'interclassement de notertexte et Texte pour idTexte
      0
      1. Je sais pas trop alors... désolé !
        0
        1. Ok merci quand même
          0