Bonjour,
J'ai pas mal cherché de la doc là-dessus, mais impossible de trouver, et d'ailleurs, c'est très compliqué de trouver quoi chercher... je vous explique :
dans ma bdd, j'ai une première table qui liste des contacts (id, nom, prénom), une deuxième table qui liste des livres (id, titre), et une troisième "livres_auteurs" qui lit les 2 (id, livre, contact).
Ces 3 tables sont en InnoDB, "id" de la table "contacts" et "id" de la table "livres" sont liés en foreign key dans la table "livres_auteurs" avec des "ON UPDATE CASCADE" et "ON DELETE CASCADE"... jusque là tout va bien
Mon problème c'est que dans ma table "contacts" il y a des personnes qui ont été entré 2 fois (voire plus). J'aimerai réunir les lignes dupliquées en une seule, et que ça se répercute sur toutes les autres tables. Je vais essayer de préciser un peu :
Pour les lignes 3 et 6 de "contacts", c'est la même personne. Les livres 1, 2 et 4 ont été écris par la même personne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ==contacts== id - nom - prénom 3 - jean - Dupont 4 - marc - Meunier 5 - paul - Dupond 6 - Jean - dupont ========= ==livres_auteurs== id - livre - auteur 1 --- 5 ---- 3 2 --- 9 ---- 3 3 --- 1 ---- 5 4 -- 10 ---- 6 =============
Donc, comment faire pour réunir les contacts 3 et 6, et que la modification en cascade fonctionne ?
Résultat désiré :
Je vous remercie d'avance !!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ==contacts== id - nom - prénom 3 - jean - Dupont 4 - marc - Meunier 5 - paul - Dupond (6 - Jean - dupont => supprimé) ========= ==livres_auteurs== id - livre - auteur 1 --- 5 ---- 3 2 --- 9 ---- 3 3 --- 1 ---- 5 4 -- 10 ---- 3 =============![]()
Partager