je structure de la table comme ça:Augmentez la valeur au hasard
users
smf, user_id, group_id, status
Avec chaque requête la valeur de smf devrait augmenter avec une valeur de courant max + nombre aléatoire.
Voici la requête
INSERT INTO users SELECT(SELECT MAX(smf) + FLOOR(RAND() * 15 from invoices), 0, 0, '1''
Ma première question concerne que la façon de maintenir l'intégrité concurrente correcte (max (id) ne peut pas me donner la dernière ligne insérée'ai, car quelqu'un d'autre peut avoir inséré depuis que je l'ai fait).
Ma deuxième question concerne la façon d'obtenir la valeur de FLOOR(RAND() * 15
sans exécuter de seconde requête?
Quelle est la raison pour cela? Êtes-vous concerné quelqu'un pourrait deviner l'ID si vous avez utilisé une simple séquence incrémentante? Pourquoi ne pas utiliser les GUID (s'ils sont disponibles en MySQL)? – FrustratedWithFormsDesigner