Syntaxe de wamp

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
j'essaie de créer une base de données et des tables mais j'ai un problème avec les tables où il y a plusieurs clés primaires.

Create database gestion_contrat
Create table interlocuteur (
codeinterlocuteur int primary key auto_increment,
nominterlocuteur varchar(50) not null
)

Create table bureau (
Codebureau int primary key auto_increment,
Villebureau varchar(50) not null
)

Create table contacter (
Codebureau int not null primay key,
Foreign key(codebureau) references bureau(codebureau)
Codeinterlocuteur int not null primary key,
Foreign key(codeinterlocuteur) references interlocuteur(codeinterlocuteur)
Date date not null primary key,
Commentaire varchar(50) not null,
)

Create table secteur (
Codesecteur int primary key auto_increment,
Libellésecteur varchar(50) not null
)

Create table client (
Codeclient int primary key auto_increment,
Raisonsocialeclient varchar(50) not null,
Adresseclient varchar(50) not null
)

Create table exercer (
Codeclient int,
Foreign key(codeclient) references client(codeclient),
Codesecteur int,
Foreign key(codesecteur) references client(codesecteur)
)

Create table contrat(
Refcontrat varchar(5) primary key,
Objetcontart varchar(10) not null,
Datecontrat date not null,
Tauxcommission int not null,
Montantcontrat int not null,
Codebureau int not null,
Foreign key(codebureau) references bureau(codebureau)
codeclient int not null,
foreign key(codeclient) references client(codeclient)
codeinterlocuteur int not null,
foreign key(codeinterlocuteur) references client(codeinterlocuteur)
)

J'essaie de créer la table contacter par exemple et là sous phpmyadmin j'ai un problème de syntaxe.
Merci de m'aider car je ne trouve pas la syntaxe correct pour créer ma table. Je sais qu'il est possible de créer les tables grâce à l'interface web mais il n'est pas possible à ma connaissance de créer la table et indiquer les relation en même temps. Donc mon problème reste entier.

Merci pour votre précieuse aide !!

2 réponses

Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
Salut,

Je reprends cette table pour exemple :
Create table contacter (
Codebureau int not null primay key,
Foreign key(codebureau) references bureau(codebureau)
Codeinterlocuteur int not null primary key,
Foreign key(codeinterlocuteur) references interlocuteur(codeinterlocuteur)
Date date not null primary key,
Commentaire varchar(50) not null,
)

Qui donne ça :

Create table contacter (
Codebureau int not null,
Codeinterlocuteur int not null,
Date date not null,
Commentaire varchar(50) not null,
);

ALTER TABLE contacter ADD PRIMARY KEY(Codebureau, Codeinerlocuteur, Date);
ALTER TABLE contacter ADD FOREIGN KEY(Codebureau) REFERENCES bureau(codebureau);
ALTER TABLE contacter ADD FOREIGN KEY(Codeinerlocuteur) REFERENCES interlocuteur(codeinterlocuteur);

Respecte bien la casse de tes champs aussi (majuscules/minuscules) au cas où...
Je te laisse t'inspirer de ça pour tes autres tables et sauf erreur de ma part ça doit passer
0
Utilisateur anonyme
 
#1064 - 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 'ALTER TABLE contacter ADD PRIMARY KEY(codebureau, codeinerlocuteur, date) ALTER' at line 8

CREATE TABLE contacter(
codebureau int NOT NULL ,
codeinterlocuteur int NOT NULL ,
date date NOT NULL ,
commentaire varchar( 50 ) NOT NULL ,
ALTER TABLE contacter ADD PRIMARY KEY ( codebureau, codeinerlocuteur, date ) ALTER TABLE contacter ADD FOREIGN KEY ( codebureau ) REFERENCES bureau( codebureau ) ALTER TABLE contacter ADD FOREIGN KEY ( codeinerlocuteur ) REFERENCES interlocuteur( codeinterlocuteur )

j'ai essayé de reprendre exactement votre syntaxe mais ayant quelques erreurs. Au mieux j'ai ce type d'erreur...

Les majuscules/minuscules c'est car j'ai écrit mais requête sous Word qui me met des majuscule un peu partout mais à priori phpmyadmin ne s'en préoccupe pas
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
Il manque une parenthèse après la ligne commentaire varchar(50) not null (et une virgule en trop que j'ai oubliée...) :
CREATE TABLE contacter(
codebureau int NOT NULL ,
codeinterlocuteur int NOT NULL ,
date date NOT NULL ,
commentaire varchar( 50 ) NOT NULL );

ALTER TABLE contacter ADD PRIMARY KEY ( codebureau, codeinerlocuteur, date );

ALTER TABLE contacter ADD FOREIGN KEY ( codebureau ) REFERENCES bureau( codebureau );
ALTER TABLE contacter ADD FOREIGN KEY ( codeinerlocuteur ) REFERENCES interlocuteur( codeinterlocuteur );
0
Utilisateur anonyme
 
Erreur
requête SQL:

ALTER TABLE contacter ADD PRIMARY KEY ( codebureau, codeinerlocuteur, date ) ;



MySQL a répondu:

#1072 - Key column 'codeinerlocuteur' doesn't exist in table

La table contacter ce créer mais les attributs codebureau codeinterloculeur et date ne sont pas des clefs primaires. Et il n'y a pas les relations
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
Le nom du champ, manque un "t", désolé
0
Utilisateur anonyme
 
en effet, la requête
CREATE TABLE contacter(
codebureau int NOT NULL ,
codeinterlocuteur int NOT NULL ,
date date NOT NULL ,
commentaire varchar( 50 ) NOT NULL );

ALTER TABLE contacter ADD PRIMARY KEY ( codebureau, codeinterlocuteur, date );

ALTER TABLE contacter ADD FOREIGN KEY ( codebureau ) REFERENCES bureau( codebureau );
ALTER TABLE contacter ADD FOREIGN KEY ( codeinterlocuteur ) REFERENCES interlocuteur( codeinterlocuteur );

fonctionne

merci, je vais pouvoir m'attarder sur les suivantes.
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
De rien, pardon encore pour mes quelques inattentions et bon courage ! N'hésite pas si besoin.
0