Bonjour,
Mon problème concerne des updates de ma base :
- des tables liées entre elles par des left join, avec une clé principale, définies par une foreign key en InnoDB
La doc est claire :
ou alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE tableunique SET cequonveut ORDER BY ma_cle
... mais sans ORDER BY
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UPDATE tableprincipale AS t1 LEFT JOIN t2 ON t1.cle = t2.id LEFT JOIN t3. etc. SET t1.ma_cle = t1.ma_cle + 999, t2.id = t2.id + 999, t3.id = t3.id + 999
Mon problème, c'est qu'il me faut faire l'update dans un certain ordre pour éviter les doublons de clés (ex : si j'ai 5.000 enregistrements, auxquels on va rajouter 999, il faut que je commence par le 5.000, puis que je descende)
Si vous avez des idées, merci
(pour mémoire : doc mysql : update)
Partager