Mysql erno:150 can't create table !plz help

Résolu/Fermé
jief - 21 avril 2010 à 14:42
 jief - 26 avril 2010 à 15:56
salut a vous j'ai un gros probleme dans ma creation de table mysql

CREATE TABLE /*!32312 IF NOT EXISTS*/ "tencheres" (
  "enchere_id" tinyint(3) unsigned NOT NULL auto_increment,
  "date_heure" datetime NOT NULL,
  "user_id" tinyint(3) unsigned NOT NULL,
  "lot_id" tinyint(3) unsigned NOT NULL,
  PRIMARY KEY  ("enchere_id"),
  KEY "fk_tencheres_user_id" ("user_id"),
  KEY "fk_tencheres_lot_id" ("lot_id"),
  CONSTRAINT "fk_tencheres_lot_id" FOREIGN KEY ("lot_id") REFERENCES "lots" ("Id_lot"),
  CONSTRAINT "fk_tencheres_user_id" FOREIGN KEY ("user_id") REFERENCES "jg_user" ("id") 
) /*!40100 DEFAULT CHARSET=latin1*/;



jusque la elle se créai mais en fait j'avais un probleme de clé (un "s" en trop "jg_user"s ) et quand g trouver mon erreur ca m'en a declancher une bien pire la table ne se crée meme plus
Merci de votre aide
JIEF

2 réponses

loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
21 avril 2010 à 20:37
Je ne sais pas si j'ai la bonne réponse car tu ne dis pas quel raison donne MySQL pour refuser la création de la table, mais je vais en proposer une:
- dans un premier temps, MySQL corrige la requête saisie et la refuse si la construction n'est pas correcte,
- dans un deuxième temps, MySQL vérifie s'il est autorisé à exécuter la requête,
- dans un troisième temps, MySQL exécute la requête.
Donc s'il n'y a plus d'erreur de syntaxe et que la requête n'est pas exécutée... c'est sans doute que l'autorisation n'est pas donnée; n'aurais-tu pas un message du type: "CREATE commande refusée pour l'utilisateur xxx ...".
Bonne continuation.
0
Merci mais finalement j'ai trouver c'était juste le champ user_id qui dans une table était défini int(3) et dans la deuxième int(11)
Merci pour tes explication
0