2011-10-14 1 views
2

donc j'ai remarqué dans un script que je utilise que la ligne id dans la base de données que j'ai mis en place est démarré à 1728.Y at-il un avantage à démarrer l'ID de base de données MySQL à un grand nombre?

Y at-il des avantages spécifiques à partir d'un numéro d'identification de base de données à un grand nombre ou autre chose alors 1 ??

+0

J'ai demandé à un client que l'ID de sa table Commandes de commerce électronique commence à un nombre élevé, afin que les clients ne pensent pas qu'ils étaient novices lorsqu'ils recevaient la "Facture n ° 3". En interne, cela ne fait aucune différence si un ID commence à 1 ou 1000000 - c'est juste un nombre. –

Répondre

1

Cela semble plutôt cool pour quelqu'un.

profile.php?id=1728 semble mieux que profile.php?id=1

Mais dans votre cas, il est probablement faux dump SQL qui avait AUTO_INCREMENT 1728

1

Non pas que je suis au courant, bien que je l'ai vu utilisé comme très simple mesure de sécurité, qui empêche le premier utilisateur dans une table d'utilisateurs (généralement l'administrateur/créateur) d'avoir ID utilisateur = 1.

+2

Qui -1 et ne l'a pas défendu? Semble valide pour moi. –

1

Non, il n'y a aucun avantage. Tant que l'identifiant est unique, cela n'a pas d'importance. Certains développeurs préfèrent démarrer les identifiants pour certaines lignes plus élevées car cela semble mieux dans une URL. Par exemple, cette url:

http://www.example.com/user/profile.php?id=142541 

semble mieux que:

http://www.example.com/user/profile.php?id=1 
0

Je ne connais aucune raison réelle. Peut-être alors les gens ne devinent pas que votre ID d'utilisateur admin est 1.

J'ai vu des tables commencent par des ID non-1 lors de l'utilisation d'ID auto-incrémentés. Chaque tentative d'insertion sera incrémentée même si l'insertion échoue. Dans votre cas, la table peut avoir été incrémentée à 1728 pendant que le script était en cours de développement, de sorte que le premier enregistrement "réel" était 1728.

0

Nous pouvons seulement deviner. Il n'y a aucun avantage technique en tant que tel. Mais il peut y avoir des avantages doux. Je peux m'imaginer que c'est fait avec l'intention d'avoir des ID réservés pour les sauvegardes .sql de sauvegarde anciennes/précédentes ou même des entrées de base de données par défaut.

Je lance occasionnellement des ID (si je dois vraiment exposer la numérotation interne de la base de données dans l'interface utilisateur) à des nombres plus grands comme 1000, donc j'obtiens par exemple. Numéros à 4 chiffres pour tous les ID. Pas technique nécessaire, mais peut sembler plus cohérent.

0

@Jake Chapman, La raison derrière cela est que si l'on voit

profile.php?id=1 ou profile.php?id=2 ...

tous ces prend l'attention du programmeur et programmeur délicat aimeraient jouer quelques trucs hacking parce qu'ils savent bien ce qui peut être fait pour cela.

Nombres aime

profile.php?id=1343 ou profile.php?id=2543 ...

Certains confus et ne prennent pas attntion tout à coup c'est pourquoi.

Questions connexes