Bonjour,
je voudrais déplacer l'id qui a la valeur 10 à la valeur 3 et incrémenter toutes les id suivante de 1 ?
merci
Bonjour,
je voudrais déplacer l'id qui a la valeur 10 à la valeur 3 et incrémenter toutes les id suivante de 1 ?
merci
Bonjour,
Qu'as-tu déjà testé comme requêtes ?
Où rencontres-tu un problème ?
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Bonjour pol2095
Si la colonne concernée est une IDENTITY (ou AUTO_INCREMENT pour MySQL), alors il ne faut pas chercher à en maîtriser la valeur.
Je suppose que c'est le cas et que vous cherchez à ordonner les Id en fonction d'une chronologie ?
Si c'est bien le but, vous perdez votre temps. La chronologie doit être suivie par un horodatage fin type timestamp, les IDENTITY n'ont aucune valeur chronologique et n'en auront jamais, ce n'est pas leur rôle !
J'ajoute que "déplacer" une ligne est un terme impropre car les lignes n'ont pas d'ordre prédéfini dans une table relationnelle, la seule façon d'obtenir un ordre, c'est d'utiliser la clause ORDER BY
C'est la colonne AUTO_INCREMENT et j'utilise ORDER BY mais est-il possible de déplacer un élément ?
je voudrais que l'élément 10 devienne l'élément 3, par conséquence l'élément 3 devienne le 4, l'élément 4 devienne le 5,...
comment m'y prendre ?
C'est exactement ce que je disais dans ma réponse précédente.
C'est très facile à faire mais ça ne sert à rien, pourquoi voulez-vous faire ça ?
C'est peine perdue, dès que la table va continuer à vivre, d'autres id vont être insérés dans un ordre non maitrisé et avec des trous, alors pourquoi vouloir "ranger" ces ID, c'est complètement inutile !
Sage décision.
Pensez à mettre le sujet en "résolu"
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager