Problème de syntaxe sous Mysql 5.4

Résolu/Fermé
crock - 25 nov. 2009 à 12:24
MoustiK666 Messages postés 18 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 27 avril 2010 - 25 nov. 2009 à 15:42
Bonjour,

Lors de ma création de table j'ai l'erreur suivante :

"ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '-00-0
0,
dem_prob VARCHAR(45) NOT NULL,
dem_statut VARCHAR(20) NOT NULL,
uti_num ' at line 6"

Quelle est mon erreur de syntaxe svp ??

CREATE TABLE demande (
dem_num INTEGER(20) NOT NULL,
mat_num INTEGER(20) NOT NULL,
dem_priorite VARCHAR(20) NOT NULL,
dem_descrip TEXT NOT NULL,
dem_date DATE NOT NULL DEFAULT 0000-00-00,
dem_prob VARCHAR(45) NOT NULL,
dem_statut VARCHAR(20) NOT NULL,
uti_num INTEGER(20) NOT NULL,
uti_tec INTEGER(20) NOT NULL,PRIMARY KEY(dem_num),
FOREIGN KEY(uti_num, mat_num)
REFERENCES utilisateur(uti_num, mat_num),
FOREIGN KEY(uti_tec, mat_num)
REFERENCES utilisateur(uti_num, mat_num)
);

6 réponses

MoustiK666 Messages postés 18 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 27 avril 2010
25 nov. 2009 à 13:36
'0000-00-00' essaye de mettre des cotes.
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
25 nov. 2009 à 14:02
euh....juste un truc, une date 00/00/0000 ça vous parait possible ????? au pire je dirais 01/01/0001 mais ça fait loin (peut etre faudrait il revoir la valeur par défaut ?)
Apres on peut se demander pourquoi mettre ce champ en non null alors qu'on a une valeur par défaut nulle (0 pour une date équivaut à null non ?) ?????
Tom
0
Merci beaucoup !
0
Autre souci :

mysql> CREATE TABLE demande (
-> dem_num INTEGER(20) NOT NULL,
-> mat_num INTEGER(20) NOT NULL,
-> dem_priorite VARCHAR(20) NOT NULL,
-> dem_descrip TEXT NOT NULL,
-> dem_date DATE NOT NULL DEFAULT '0000-00-00',
-> dem_prob VARCHAR(45) NOT NULL,
-> dem_statut VARCHAR(20) NOT NULL,
-> uti_num INTEGER(20) NOT NULL,
-> uti_tec INTEGER(20) NOT NULL,
-> PRIMARY KEY(dem_num),
-> FOREIGN KEY(uti_num, mat_num)
-> REFERENCES utilisateur(uti_num, mat_num),
-> FOREIGN KEY(uti_tec, mat_num)
-> REFERENCES utilisateur(uti_num, mat_num)
-> );


Souci => ERROR 1005 (HY000): Can't create table 'helpdesk.demande' (errno: 150)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
25 nov. 2009 à 15:32
Re,
a priori errno 150 vient d'un problème de clés étrangères, commence par vérifier les types de données et les index sur tes 2 foreign keys...
0
MoustiK666 Messages postés 18 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 27 avril 2010
25 nov. 2009 à 15:42
Il doit y avoir une erreur sur les clés étrangères . Vérifie que les types ainsi que le nom entre foreign key et que les references sont bien identiques. Fais le test en enlevant les clés étrangeres juste pour voir si il créait la table.

Edit grillé !!
0