Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 19/02/2007, 09h46   #1
Inactif
 
Alexandre Jaquet
Inscription : mai 2006
Messages : 2 199
Détails du profil
Informations personnelles :
Nom : Alexandre Jaquet
Âge : 32

Informations forums :
Inscription : mai 2006
Messages : 2 199
Points : 1 904
Points : 1 904
Par défaut Limitation de mysql ?

J'utilise MySQL 5 et j ai un soucie pour la création de table

voici mon script :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
DROP TABLE IF EXISTS `type`;
CREATE TABLE `type` (
  `id_type` int(4) NOT NULL AUTO_INCREMENT,
  `text` text NOT NULL,
  PRIMARY KEY  (`id_type`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
DROP TABLE IF EXISTS `lang`;
CREATE TABLE `lang` (
  `id_lang` int(4) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  PRIMARY KEY  (`id_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
 
DROP TABLE IF EXISTS `message`;
CREATE TABLE `message` (
  `id_message` int NOT NULL,
  `text` text NOT NULL,
  `ref_type` int(4),
  `ref_lang` int(2) NOT NULL,  
  FOREIGN KEY `FK_MESSAGE_TYPE` (`ref_type`) REFERENCES `type` (`id_type`),
  PRIMARY KEY  (`id_message`,`ref_lang`),
  FOREIGN KEY `FK_MESSAGE_LANG` (`ref_lang`) REFERENCES `lang` (`id_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
DROP TABLE IF EXISTS `country`;
CREATE TABLE `country` (
  `id_country` int(11) NOT NULL,
  `ref_message` int(4) NOT NULL,
  `country_code` char(2) NOT NULL,
  PRIMARY KEY  (`id_country`,`ref_message`),
  FOREIGN KEY `FK_country_MESSAGE` (`ref_message`)  REFERENCES `message` (`id_message`,`message.ref_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Mysql ne créer pas la table country !
*alexandre* est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 09h52   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Il n'y a pas de message d'erreur ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 09h53   #3
Inactif
 
Alexandre Jaquet
Inscription : mai 2006
Messages : 2 199
Détails du profil
Informations personnelles :
Nom : Alexandre Jaquet
Âge : 32

Informations forums :
Inscription : mai 2006
Messages : 2 199
Points : 1 904
Points : 1 904
Non aucun, juste can't create table country.frm le problème semble venir de la

dans la table coutry :
Code :
1
2
 
 FOREIGN KEY `FK_country_MESSAGE` (`ref_message`)  REFERENCES `message` (`id_message`,`message.ref_lang`)
MySQL n'as pas l'air d'accepter REFERENCES sur une clef primaire composée
*alexandre* est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 12h32   #4
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Citation:
Envoyé par *alexandre*
MySQL n'as pas l'air d'accepter REFERENCES sur une clef primaire composée
Surtout quand on lui demande de bourrer la clef composée dans un champ simple
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h22.


 
 
 
 
Partenaires

Hébergement Web