Problème de foreignkey sur mysql (innodb)

Fermé
braye - 7 mars 2005 à 22:23
 blaise - 8 mars 2005 à 16:41
bonjour et merci de bien vouloir prendre le temps de m'aider un instant.

en bref voici mon problème:
disons que j'ai deux tables innodb
une avec les lots
une avec les vente
mon obliguation: 0 OU 1 vente (max) par lot.
voici un bref détaillé de mes deux tables.
moi ce que j'aimerais, c'est que si il y a une vente lo_ve_FK soit différent de 0. si la vente n'a pas eu lieu, il référencie directement la bonne clé dans les ventes.
mais dans la configuration actuelle, je n'ai pas le droit d'avoir la clé étrangère à 0. elle doit obliguatoirement référence une vente.
j'ai ce problème qui se répercute à pls reprise dans mes relations.
et je dois absolument résoudre ce problème avant de programmer la suite de mon application.
c'est sans aucun doute un problème de conception auquel je ne pense pas...

CREATE TABLE `lot` (
`lo_id` bigint(20) unsigned NOT NULL auto_increment,
`lo_ve_FK` int(11) unsigned default '0',
PRIMARY KEY (`lo_id`),
KEY `lo_ve_FK` (`lo_ve_FK`),
CONSTRAINT `lot_ibfk_2` FOREIGN KEY (`lo_ve_FK`) REFERENCES `vente` (`ve_id`),
) ENGINE=InnoDB DEFAULT CHARSET=ascii

CREATE TABLE `vente` (
`ve_id` int(11) unsigned NOT NULL auto_increment,
`ve_dateacte` date default '0000-00-00',
PRIMARY KEY (`ve_id`),
) ENGINE=InnoDB DEFAULT CHARSET=ascii

j'espère avoir été assez précis, merci encore de votre attention et j'espère que vous aurez une réponse à me fournir.

1 réponse

pb résolu, merci qd même
0

Discussions similaires