Retour : Page Principale > sommaire aide > sommaire aide-mémos

C'est drôle, le seul endroit où il y a des clefs dans cette BDD, c'est des endroits où ça sert à rien et ça fait chier :) (spécial kasdédi à DJ JP)
Il faut donc tricher en décalant l'ordre, et en le recalant ensuite.
Dans l'exemple suivant, on fusionnera les données du compte "comptefoireux@hotmail.fr" (ID inconnu, pas important) dans le compte "supercomte@yahoo.fr" (ID "12345").
(utilisez votre intelligence surhumaine pour faire pareil avec plusieurs comptes)
Fusion de données CeL entre plusieurs comptes
Contexte
Une andouille a créé 45 comptes différents qui ont chacun des données dans le CeL, ou alors s'est trompé d'email en saisissant dans le Widget, s'est trompé d'adresse quand il a commandé sa pizza, et souhaite maintenant les fusionner (les comptes CeL, pas les pizzas).Fusion

Base de données
Le principe est d'harmoniser les valeurs de ce_utilisateur et courriel_utilisateur dans les tables cel_obs et cel_images. Oui mais attention, il y a un piège !! La colonne ordre qui sert à rien et qui fait chier (existe toujours au 20/07/2017) est utilisée dans une clef unique qui fait que si on fait un pauvre UPDATE on va se taper une violation de contrainte.C'est drôle, le seul endroit où il y a des clefs dans cette BDD, c'est des endroits où ça sert à rien et ça fait chier :) (spécial kasdédi à DJ JP)
Il faut donc tricher en décalant l'ordre, et en le recalant ensuite.
Dans l'exemple suivant, on fusionnera les données du compte "comptefoireux@hotmail.fr" (ID inconnu, pas important) dans le compte "supercomte@yahoo.fr" (ID "12345").
(utilisez votre intelligence surhumaine pour faire pareil avec plusieurs comptes)
Table cel_obs
-- décalage de l'ordre pour être peinard SELECT @n := 400000; UPDATE cel_obs SET ordre = @n := @n + 1 WHERE courriel_utilisateur = 'supercompte@yahoo.fr'; UPDATE cel_obs SET ce_utilisateur = '12345', courriel_utilisateur = 'supercompte@yahoo.fr', ordre = @n := @n + 1 WHERE courriel_utilisateur = 'comptefoireux@hotmail.fr'; -- recalage de l'ordre à partir de 1 SELECT @n := 0; UPDATE cel_obs SET ordre = @n := @n + 1 WHERE courriel_utilisateur = 'supercompte@yahoo.fr';