|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : juillet 2011 Messages : 16 ![]() |
Bonjour à tous,
J'ai un souci très bloquant concernant 3 tables. Deux d'entres elles ont comme Foreign Key la Primary Key de celle qui reste. Cf ci dessous Code :
Avez vous une idée? Merci d'avance |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Les tables sont de type InnoDB ?
__________________
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
|
|
|
#3 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : juillet 2011 Messages : 16 ![]() |
Comment le savoir? Je peux te dire que la gestion des foreign key est activée (possible depuis sqlite3)
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Donc Base de données= SQLITE ?
Excusez moi, je pensais que votre question concernait MySQL
__________________
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
|
|
|
#5 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : juillet 2011 Messages : 16 ![]() |
|
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : juillet 2011 Messages : 16 ![]() |
J'ai oublié de mentionner quelque chose d'important, les clés primaires de T2 et T3 sont en fait partiellement composées de leur clés étrangères, ce qui modifie le pseudo langage du post inital comme suit:
Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Quand vous écrivez :
REFERENCES t1_pkt1_pk doit être le nom d'une table, or ce n'est pas le cas. Il faut écrire : REFERENCES T1Par ailleurs, si la colonne composant la clé primaire de la la table T1 s'appelle par exemple col_x, il faut écrire : REFERENCES T1 (col_x) En outre on n'écrit pas: ON UPDATE CASDADEMais : ON UPDATE CASCADEEt prenez l'habitude de fournir des instructions moins floues que celles que vous avez présentées, on perdra moins de temps. Par exemple, en SQL normalisé : Code Sql :
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : juillet 2011 Messages : 16 ![]() |
Désolé pour la forme rudimentaire du pseudo code, j'en prend note. Et les foreign keys sont écrites correctement!
Le CASDADE est une faute de frappe, il a bien été écrit dans le code source. Je ne vois pas pourquoi il refuse l'UPDATE ou le DELETE sur T1 |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Peut etre parce que T2_fk n'est pas indexé ??
__________________
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