probleme mysql

probleme mysql - SQL/NoSQL - Programmation

Marsh Posté le 05-02-2009 à 11:10:01    

slt a tous,
je voudrai faire une base de données avec un table recette avec id_recette,.... et une table ingredient avec id_ingredient, id_recette,...
ma table recette marche nickel, mais par contre je n'arrive pas a faire ce que je veux faire avec le table ingredient:
par exemple:
recette(1,.....)
recette(2,.....)
 
et  
 
ingredient(1,1,.....)
ingredient(2,1,.....) //ingredient 2 pour la recette 1
ingredient(1,2,.....) //ingredient 1 pour la recette 2
 

Citation :


code sql de ma table ingredient:
 
CREATE TABLE IF NOT EXISTS `ingredient` (
  `id_ingredient` int(11) NOT NULL default '0',
  `id_recette` int(11) default NULL,
  `ingredient` varchar(1000) default NULL,
  PRIMARY KEY  (`id_ingredient`),
  CONSTRAINT `fk_ingredient` FOREIGN KEY (`id_recette`)
REFERENCES `recette` (`id_recette`)
)


 
help me please puisque j'ai le mm probleme sur les autres tables où j'utilise des clés étrangéres

Reply

Marsh Posté le 05-02-2009 à 11:10:01   

Reply

Marsh Posté le 05-02-2009 à 14:53:10    

personne :( ??

Reply

Marsh Posté le 05-02-2009 à 16:08:16    

C'est quoi ta question?

Reply

Marsh Posté le 05-02-2009 à 16:25:37    

où est mon erreur pour que ma clé fonctionne puisque la si je fait:
insert into `ingredient` values(1,2,'des noix');
l'erreur:
#1062 - Duplicate entry '1' for key 1

Reply

Marsh Posté le 05-02-2009 à 16:31:36    

Ta clés primaire de la table ingrédient c'est bien id_ingrédient?
 

Citation :


ingredient(1,1,.....)
ingredient(2,1,.....) //ingredient 2 pour la recette 1
ingredient(1,2,.....) //ingredient 1 pour la recette 2  


 
La clé primaire et identique sur l'exemple 1 et 3

Reply

Marsh Posté le 05-02-2009 à 16:38:12    

c'est résolus

Reply

Marsh Posté le 05-02-2009 à 16:39:04    

il fallait juste que je double ma clé primaire j'y avais pas pensé

Reply

Marsh Posté le 05-02-2009 à 16:43:16    

En même temps je vois pas trop l'intérêt.
 
Si la recette 1 et 2 contienent des tomates tu va devoir créer 2 fois l'ingrédient Tomate, une fois pour la recette 1 une fois pour la recette 2.
 

Reply

Marsh Posté le 05-02-2009 à 17:00:33    

aspirateur a écrit :

En même temps je vois pas trop l'intérêt.
 
Si la recette 1 et 2 contienent des tomates tu va devoir créer 2 fois l'ingrédient Tomate, une fois pour la recette 1 une fois pour la recette 2.
 

Si les deux recettes contiennent des tomates, il faut bien qu'il l'indique et donc qu'il ai une table qui fasse la liaison entre les ingrédients et les recettes.  [:airforceone]  
Il avait juste pas pensé à faire une clé primaire composé.

Reply

Marsh Posté le 05-02-2009 à 17:05:02    

On est d'accord...
 
Seulement comme il parlait pas de cette 3eme table, je lui ai dit ca pour qu'il réfléchisse ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed