auto_increment / valeur à préciser / et... optimisation

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : auto_increment / valeur à préciser / et... optimisation

par albat » 14 févr. 2006, 14:02

Le compteur auto-incrémental que l'on utilise généralement comme clé primaire d'une table
n'a aucune signification intrinsèque et ne doit pas en avoir.

Il s'agit juste d'un identifiant de ligne, permettant notamment les jointures entre les tables.

Si tu souhaites imposer une valeur significative : "Je veux que mon obet toto porte le numéro 324",
crée un champ spécialement pour cela, totalement indépendant de l'auto-incrément.

par pascaltje » 14 févr. 2006, 12:09

Franchement, ce genre d' "optimisation" ne sert à rien...

parfois on peut être amené à modifier les id ou à les forcer, notamment lors de migrations de données, mais le reste du temps, c'est une perte d'énergie.

A+

Pascal

auto_increment / valeur à préciser / et... optimisation

par lowcraft » 14 févr. 2006, 09:53

Bonjour,

Voilà, j'ai un champ de ce type:
id INT(11) UNSIGNED NOT NULL auto_increment
Si je ne précise pas ce champ dans un INSERT, aucun problème, cela incrémente id.
Le problème vient du faite que je souhaite dans certaines conditions préciser ce champ; cela fonctionne si id>0 (et bien sûre en évitant l'erreur de doublon, erreur #1062), par contre, si je met 0, hop, ca incrémente de +1 le dernier champ id entregistré, bon, d'un point de vue de structure, c'est logique, mais comment surpasser cela ? la méthode d'UPDATE après enregistrement fonctionne, mais je voudrais effectuer cette méthode avec un seul INSERT, et pas INSERT puis UPDATE.

Voilà.
Merci de vos futurs contribution.
Low.

A Oui, je cherche à optimiser ma table, par exemple
champ id : 1, 2, 3, 4, 6, 8, 9, 10, 15, 16
Est-il possible d'optimiser ce champ ? pour qu'après : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ou bien même utilisé les id manquant comme prochaine enregistrement.