Bonjour,
Est-il possible d'indiquer dans une requête de type UPDATE dans quel ordre doivent se pratiquer les updates ?
Je cherche à augmenter l'ID (integer, primary, autoinc) d'une certaine valeur pour tous les enregistrements d'une table, un simple...
semblerait faire l'affaire (x étant la valeur à ajouter) mais si il existe déjà des enregistrements avec un ID d'une valeur de "ID + x", ça va coincer !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE maTable SET ID = ID + x
Ex: j'ai 15 enregistrements dans ma table, avec des ID de 1 à 15; je souhaite augmenter l'ID de tous les enregistrement d'un valeur x = 10... Pour ID = 1, ID + 10 = 11 -> paf, il existe déjà un enregistrement avec un ID de 11, collision !
Il faudrait pour bien faire que je commence par la fin, ainsi ID = 15 -> 25 / ID = 14 -> 24 / ID = 13 -> 23, etc. Dans ce cas, plus de collision possible...
D'où ma question :-)
Merci.
PS: je pourrais faire une premier update avec x = 15 puis un second update avec x = -5 mais pour le second update je me retrouverais dans la même situation si je ne peux pas indiquer l'ordre dans lequel faire les updates !
Partager