|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() |
Bonjour,
Je suis sur le problème très bête de contrainte innodb, que voici: J'ai d'abord 2 tables comme celà: Pour les textes des status, j'ai une troisième table regroupant tout les status possible: Dans le principe, pour avoir un status, la table1 fera une requete dans TableStatus avec Code :
(TableStatus.skey=1 ET Table1.status_id=TableStatus.id) Code :
(TableStatus.skey=2 ET Table2.status_id=TableStatus.id) Code :
ALTER TABLE Table1 ADD CONSTRAINT untruc FOREIGN KEY (status_id,1) REFERENCES TableStatus(id,skey) Y'a-t-il moyen de faire une vrai contrainte de ce genre ? Merci à vous. Snark.
|
|
|
00
|
|
|
#2 |
![]() ![]() |
À ce que je comprends, les statuts de la table 1 et de la table 2 sont strictement différents. ce ne sont donc pas les mêmes groupes de données et il devrait y avoir deux tables de statuts.
Au lieu de l'abstraction Table1 et Table2, tu peux nous dire ce que contiennent ces tables et ce que sont les statuts ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Vous essayez de melanger une contrainte technique et une contrainte fonctionnelle.
Le mieux est de créer une contrainte technique (contrainte d"intégrité relationnelle entre vos tables) et d'ajouter une contrainte fonctionnelle Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com