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

Résolu/Fermé
Signaler
-
 jief -
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

Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
146
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.
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