Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/02/2006, 12h03   #1
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
Par défaut pb clés étrangers

salut tout le monde
j'ai un probléme trés grave est qui me laisse bloqué c'est:
je veux faire deux clés étrangers villeId2 et VilleID2 dans ma table nommée distance a la table Ville voici le code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE Ville
(
  VilleId int(10) PRIMARY KEY,
  VilleNom VARCHAR(50),
  Type VARCHAR(50),
  Remarque VARCHAR(255)
)
CREATE TABLE Distance
(
  VilleId1 int(10),
  VilleId2 int(10),
  Distance Decimal,
  Remarque VARCHAR(255),
  PRIMARY KEY (VilleId1,VilleId2)
)
aidez moi svp.
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 12h17   #2
Membre éprouvé
 
Avatar de m-mas
 
Inscription : février 2003
Messages : 536
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 536
Points : 477
Points : 477
ou est la question ?
__________________
MCP VB.NET (70-305) - (70-306) - (70-310)
m-mas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 12h31   #3
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Essaie ceci:
Code :
1
2
3
4
5
6
7
8
ALTER TABLE Distance ADD
Constraint FK_Distance_Ville_ID1 FOREIGN KEY (VilleId1)
REFERENCES Ville(VilleId)
GO
ALTER TABLE Distance ADD
Constraint FK_Distance_Ville_ID2 FOREIGN KEY (VilleId2)
REFERENCES Ville(VilleId)
GO
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 12h33   #4
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
la question c'est :
comment faire pour que j'aurai deux clés étrangers ligneid1 et ligneid2.
c'est ca
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE Distance 
( 
VilleId1 int(10), 
VilleId2 int(10), 
Distance Decimal, 
Remarque VARCHAR(255), 
PRIMARY KEY (VilleId1,VilleId2) 
/* =====MON ESSAI=======
     key Ville_VilleId1(VilleId1), 
     Key Ville_VilleId2(VilleId2)
   ====================
*/
) ;
merci de coriger mes fautes car je debute.

[Modéré par WOLO Laurent][Merci d'utiliser les balises codes]
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2006, 18h27   #5
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Dans voter code, vous ne créez pas 2 clés étrangères, mais une clé primaire composite, ce qui n'est pas à faire.

Suivez l'exemple de Wolo
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2006, 15h31   #6
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
salut
salut je parle de mysql les amis at non a ms sql server.
j'ai posté ce message la bas au forum Mysql mais il ya qulqu'un qui l'a palcé ici.
donc pouvez vous me donner la solution en mysql s'elle existe.
merci bien.
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2006, 16h32   #7
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
L'avez vous essayé avec my sql ?
Ce code est normalisé et peut s'exécuter dans la plupart des SGBDR actuelles.
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2006, 18h35   #8
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
salut
j'ai éssayé mais mysql m'a donné cet message.


Erreur
requête SQL :

Alter Table Distance add
Constraint FK_Distance_Ville_ID1 Foreign Key (VilleId1)
References Ville(VilleId)
GO
Alter Table Distance add
Constraint FK_Distance_Ville_ID2 Foreign Key (VilleId2)
References Ville(VilleId)
GO

MySQL a répondu:


You have an error in your SQL syntax near 'GO
Alter Table Distance add
Constraint FK_Distance_Ville_ID2 Foreign Key (Vi' at line 4
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2006, 10h57   #9
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Il suffit de remplacer les Go par des point-virgules

Code :
1
2
3
4
5
6
ALTER TABLE Distance ADD 
Constraint FK_Distance_Ville_ID1 FOREIGN KEY (VilleId1) 
REFERENCES Ville(VilleId) ;
ALTER TABLE Distance ADD 
Constraint FK_Distance_Ville_ID2 FOREIGN KEY (VilleId2) 
REFERENCES Ville(VilleId) ;
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2006, 11h35   #10
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
Par défaut salut

merci bien mon ami waloo
j'aimerai bien être ton ami

j'éspére bien que dieu unique vous aider bien a la vie et a l'aprévie.
au revoir
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2006, 11h58   #11
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
salut
je l'ai appliqué mais aucun changement affecté mon code.
la table reste toujours comme ca :
Code :
1
2
3
4
5
6
CREATE TABLE distance (
  VilleId1 int(10) NOT NULL DEFAULT '0',
  VilleId2 int(10) NOT NULL DEFAULT '0',
  Distance decimal(10,0) DEFAULT NULL,
  Remarque varchar(255) DEFAULT NULL,
) TYPE=MyISAM;

est ce que c'est naturel ca.
merci encore une fois pour votre intention.
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2006, 19h38   #12
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 195
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 195
Points : 4 717
Points : 4 717
Les tables MyISAM ne gèrent pas les contraintes de clef étrangères (pour cela, il y a InnoDB). La syntaxe est alors reconnue mais ignorée.

Je ne sais pas pourquoi on t'a déplacé le sujet dans le forum MS SQL.
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2006, 20h59   #13
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Citation:
Envoyé par pcaboche
Les tables MyISAM ne gèrent pas les contraintes de clef étrangères (pour cela, il y a InnoDB). La syntaxe est alors reconnue mais ignorée.
+1
Change ça en "TYPE=InnoDB"

Je redéplace le sujet vers MySQL
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 03h49   #14
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
salut tous le monde
j'ai installé le Mysql 4.1 qui permet d'utiliser le support inndb.
mais quand je lui donné ce code:

Code :
1
2
3
4
5
6
7
 
CREATE TABLE distance ( 
  VilleId1 int(10) NOT NULL DEFAULT '0', 
  VilleId2 int(10) NOT NULL DEFAULT '0', 
  Distance decimal(10,0) DEFAULT NULL, 
  Remarque varchar(255) DEFAULT NULL, 
) TYPE=Innodb;
il passe mais quand je consule la base a php myadmin je trouve que ma base et de type MyIssam .
comment ca
merci d'avance.
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 06h12   #15
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 195
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 195
Points : 4 717
Points : 4 717
Peut-être une version trop ancienne de phpMyadmin. Avec une 2.6.0, ça passe sans problème ou presque (une virgule en trop).
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 12h25   #16
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
salut mon frére
j'utilise maintenant une des dérnière versions c'est phpmyadmin-2.6.4-pl4
et le pb tjs existe
aidez moi a resoudre ce problème svp.
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 18h20   #17
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Qu'est-ce qui se passe si tu fais un SHOW CREATE TABLE distance ?
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 19h07   #18
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
salut
voici ce que mysql me donner aprés la requette :
SHOW CREATE TABLE distance
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 19h19   #19
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Essaie de faire un SHOW VARIABLES LIKE 'have_innodb'
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 20h49   #20
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 167
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 167
Points : 17
Points : 17
voici mon frére le tableau que MySQL affiche:
variable_name : DISABLED
have_innobd : VALUE
jack_1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h28.


 
 
 
 
Partenaires

Hébergement Web