|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Développeur informatique Inscription : juillet 2011 Messages : 9 ![]() |
Bonjour,
Voila j'ai la Table MySQL suivante : Code :
"SQL Error (1451): Cannot delete or update a parent row: a foreign key constraint fails: 'FK_playlist_line_playlist_line' pourtant avec le on update cascade il ne devrait pas changer la Key dans les lignes fils ? Ps: Je precise que pour des delete il supprime bien les lignes fils... merci |
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Pour commencer, une clé primaire en VARCHAR(40) ce n'est vraiment pas top !
C'est d'ailleurs line_key qui devrait être en clé primaire puisque c'est la colonne auto-incrémentée de la table. Par la même occasion, day_id est une clé étrangère et ne devrait donc pas non plus être en VARCHAR(40) car en principe, une clé étrangère référence une clé primaire. Et comme line_key est auto-incrémentée et devrait être la clé primaire, celle-ci devrait être invariable, ne jamais être modifiée, ce qui fait que ON UPDATE CASCADE est parfaitement inutile !
__________________
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 |
|
Invité régulier
![]() Développeur informatique Inscription : juillet 2011 Messages : 9 ![]() |
Merci pour ta reponse,
concernant les clé en varchar(40), c'est que le system qui tourne derriere genere de id de vidéos en chaine de 32 caracteres... et les Keys correspondent a l'identité des lignes dans ma playliste par jour donc le auto incrément est faux en effet, je l'ai retiré... |
|
|
00
|
|
|
#4 |
![]() ![]() |
Peu importe ! Ces clés générées par un système externe sont des clés alternatives mais ne doivent pas être utilisées comme clés primaires dans les tables. Lis l'article de SQLPro dont j'ai donné le lien dans mon précédent message.
__________________
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
|
|
|
#5 |
|
Invité régulier
![]() Développeur informatique Inscription : juillet 2011 Messages : 9 ![]() |
Très bien, je n'avais pas vu le lien ...
Merci ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com