Requetes sous mysql

Résolu/Fermé
Utilisateur anonyme - 25 nov. 2010 à 16:01
 Utilisateur anonyme - 25 nov. 2010 à 16:18
Bonjour,
j'ai deux requetes à faire pour demain
je ne comprends pas pourquoi elles sont fausses,
merci d'avance

CREATE TABLE lecon (
numlecon varchar,
niveaulecon char,
jouerlecon boolean,
debutlecon time,
finlecon time,
PRIMARY KEY (numlecon)
);


CREATE TABLE adherents(
numadh integer not null,
sexeadh char(1) default"m",
civiliteadh default"Mr" varchar(12) not null,
nomadh varchar,
prenomadh varchar not null,
adradh integer(100) not null,
cpadh decimal nulldefault"91540",
villeadh varchar not null default"Mennecy",
PRIMARY KEY (numadh)
);

2 réponses

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
Modifié par Melooo le 25/11/2010 à 16:07
La première normal qu'elle passe pas, quand tu veux que ton champs soit un char ou un varchar, tu dois spécifier une taille de caractères comme ceci :
CREATE TABLE lecon ( 
numlecon varchar(100), 
niveaulecon char(100), 
jouerlecon boolean, 
debutlecon time, 
finlecon time, 
PRIMARY KEY (numlecon) 
);  

Ensuite pour ta deuxième requête il faut mettre des espaces entres tes types et tes default, mettre les types avant les default, et ajouter le nombre de caractères pour les char et les varchar comme ceci :
CREATE TABLE adherents( 
numadh integer not null, 
sexeadh char(1) default "m", 
civiliteadh varchar(12) default "Mr"  not null, 
nomadh varchar(100), 
prenomadh varchar(100) not null, 
adradh int(100) not null, 
cpadh decimal null default"91540", 
villeadh varchar(100) not null default"Mennecy", 
PRIMARY KEY (numadh) 
); 

Je trouve bizarre que des clés primaires soit des chaines de caractères, d'habitudes ce sont des entiers, puis en plus tes clés primaires se nomment numlecon donc bon normalement ca veut dire le numéro de lecon
Tu as compris ?
1
Utilisateur anonyme
25 nov. 2010 à 16:18
merci beaucoup ça marche
0