Suppression de champs dans table liée
mocoye
Messages postés
73
Date d'inscription
Statut
Membre
Dernière intervention
-
mocoye Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
mocoye Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite supprimer un champs dans une table qui est liée voici mon code :
J'ai le message suivant qui apparaît :
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`cdos93_v2`.`photos`, CONSTRAINT `photos_ibfk_1` FOREIGN KEY (`id_th`) REFERENCES `albums_p` (`id_th`)) in C:\wamp64\www\cdos93_v2\regent\albums.php on line 167
j'ai bien compris que le problème venait du faite que ma table soit liée, mais comment faire pour pouvoir supprimer le champs en question sans impacter l'autre table,
D'avance merci de vos retours,
Je souhaite supprimer un champs dans une table qui est liée voici mon code :
$bdd->beginTransaction(); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $requete = "DELETE FROM `albums_p` WHERE id=?"; $reponse = $bdd->prepare($requete); $reponse->execute(array($_GET['id'])); $bdd->commit(); echo '<p class="alert alert-success"><i class="fas fa-check-circle"></i> Tout c\'est bien passé l\'album a bien été supprimé, Féliciations !!!</p>'; echo '<p><a href="albums.php?action=ajouter" class="btn btn-success ajout"><i class="fas fa-plus"></i> ajouter un albums</a> <a href="albums.php" class="btn btn-light"><i class="fas fa-list-ol"></i> retour liste</a></p>';
J'ai le message suivant qui apparaît :
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`cdos93_v2`.`photos`, CONSTRAINT `photos_ibfk_1` FOREIGN KEY (`id_th`) REFERENCES `albums_p` (`id_th`)) in C:\wamp64\www\cdos93_v2\regent\albums.php on line 167
j'ai bien compris que le problème venait du faite que ma table soit liée, mais comment faire pour pouvoir supprimer le champs en question sans impacter l'autre table,
D'avance merci de vos retours,
Configuration: Windows / Chrome 81.0.4044.122
A voir également:
- Suppression de champs dans table liée
- Table ascii - Guide
- Forcer suppression fichier - Guide
- Table des matières word - Guide
- Suppression compte gmail - Guide
- Table des caractères - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, il me semble que tu supprimes des enregistrements, pas des champs.
on dirait que tu veux supprimer un album tout en gardant ses photos, alors que tu as décidé que toute photo devait avoir un album.
peut-être veux-tu garder des photos sans albums?
on dirait que tu veux supprimer un album tout en gardant ses photos, alors que tu as décidé que toute photo devait avoir un album.
peut-être veux-tu garder des photos sans albums?
Bonjour,
tout d'abord merci d'avoir répondu à mon message.
Pour préciser afin que la réponse soit la plus efficace possible :
j'ai 3 tables qui sont liées :
1/ theme : idt/themes
2/ albums : ida / album / vignette / id_th (qui reprend id de la table theme corresspondant)
3/ photos : idp / photos / id_th / id_alb_p (qui reprend id de la table albums corresspondant)
Pour les modifications et suppressions :
Les photos ne peuvent appartenir qu'à un seul album donc leur suppression entraîne la suppression de l'album et inversement.
en revanche un thème peut avoir plusieurs albums mais un album ne peut avoir qu'un thème
en fait pour schématiser :
- 1 thème = x albums = x photos
- 1 album = 1 thème = x photos
- x photos = 1 album = 1 thèmes
je ne sais pas si j'ai été claire ?
tout d'abord merci d'avoir répondu à mon message.
Pour préciser afin que la réponse soit la plus efficace possible :
j'ai 3 tables qui sont liées :
1/ theme : idt/themes
2/ albums : ida / album / vignette / id_th (qui reprend id de la table theme corresspondant)
3/ photos : idp / photos / id_th / id_alb_p (qui reprend id de la table albums corresspondant)
Pour les modifications et suppressions :
Les photos ne peuvent appartenir qu'à un seul album donc leur suppression entraîne la suppression de l'album et inversement.
en revanche un thème peut avoir plusieurs albums mais un album ne peut avoir qu'un thème
en fait pour schématiser :
- 1 thème = x albums = x photos
- 1 album = 1 thème = x photos
- x photos = 1 album = 1 thèmes
je ne sais pas si j'ai été claire ?
effectivement après ton message et réflexion il n'y a pas d'intérêt à avoir l'id thème dans la table photo, je vais le supprimer.
En ce qui concerne l'impact de la suppression d'un album, en fait dans le cas de mon code, la suppression impact la table thème et en l’occurrence je ne veux pas que celle-ci soit impactée, mais effectivement il y aussi un impact sur la table photo et celle-ci doit être impacter.
En ce qui concerne l'impact de la suppression d'un album, en fait dans le cas de mon code, la suppression impact la table thème et en l’occurrence je ne veux pas que celle-ci soit impactée, mais effectivement il y aussi un impact sur la table photo et celle-ci doit être impacter.