Je souhaite générer des identifiants clients pour les factures et ne souhaite donc pas commencer à compter à partir de 1 pour des raisons évidentes. En MySQL pouvez-vous générer un nombre aléatoire qui est unique?Générer un numéro unique à 10 chiffres
Je connais la fonction RAND(), mais elle ne garantit pas l'unicité. Quelle est la bonne approche pour cela?
ne fonctionne pas:
INSERT INTO test (number) VALUES (FLOOR(0 + (RAND() * 9999999999)));
PS: côté serveur que je suis en utilisant PHP et générer des factures en utilisant FPDF.
Quelle est la raison évidente ici? Est-ce que les factures seraient visibles d'une manière ou d'une autre si vous deviniez le prochain id, ou spoofable d'une certaine manière? Si c'est le cas, vous avez un problème différent et vous devez vous assurer que toute personne consultant une facture est autorisée à le faire. Au lieu de cela, je voudrais regarder un en utilisant la fonction UUID (voir http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid), bien que cela semble être une surenchère majeure. – muffinista
Non, en fait je ne considère rien à faire avec l'usurpation d'identité etc. C'est plus que l'entreprise est une start-up et ils ne veulent pas révéler que vous êtes leur premier client :-) –