sql, gérer les conflits lors des inserts
2012-10-12
Lors d’un insert, si la clé primaire existe déjà, il est possible de faire un traitement comme dans l’exemple ci-dessous.
insert into enveloppesTTS (enveloppe, tts) select enveloppe, '' as tts from enveloppes on duplicate key update enveloppesTTS.tts=if(enveloppesTTS.tts<>'',enveloppesTTS.tts,values(tts));
Ici, on tente de peupler la table enveloppesTTS avec des valeurs.
Si l’entrée n’existe pas, on la crée.
Sinon on met à jour un champ de cette table uniquement si sa valeur n’est pas déjà renseigné.