Comment le mauvais est à l'aide de SELECT MAX(id) dans MYSQL au lieu de mysql_insert_id() en PHP?

Contexte: je suis en train de travailler sur un système où les développeurs semblent être en utilisant une fonction qui exécute une requête MYSQL comme "SELECT MAX(id) AS id FROM TABLE" quand ils ont besoin pour obtenir l'id de la DERNIÈRE ligne insérée (la table ayant une colonne de type auto_increment).

Je sais que c'est une pratique horrible (parce que les demandes simultanées mess les enregistrements), et je suis en train de le communiquer à la non-tech /équipe de gestion, qui leur réponse est...

"Oh okay, we'll only face this problem when we have 
(a) a lot of users, or 
(b) it'll only happen when two people try doing something
    at _exactly_ the same time"

Je ne suis pas en désaccord avec le point, et je pense que nous allons exécuter ce problème plus tôt que nous le plan. Cependant, je suis en train de calculer (ou la figure d'un mécanisme) pour calculer le nombre d'utilisateurs devraient être en utilisant le système avant de commencer à voir foiré liens.

Toute mathématique aperçu de qui? Encore une fois, je SAIS que c'est une pratique horrible, je veux juste comprendre les variables dans cette situation...


Mise à jour: Merci pour les commentaires des gens - nous allons dans la bonne direction et le code fixe!

C'est MAX(bad). –

OriginalL'auteur DrMHC | 2010-08-18