Mysql erno:150 can't create table !plz help
Résolu
jief
-
jief -
jief -
salut a vous j'ai un gros probleme dans ma creation de table mysql
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
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
-
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