Mon application Web permet aux utilisateurs de télécharger plusieurs photos simultanément sur le serveur, puis de les stocker dans une base de données. Lorsque la première photo aura fini de télécharger, elle devrait créer un album par défaut basé sur la date du jour, et l'ajouter à cela. Mais si photo1 se termine, cherche l'album, et ne le trouve pas alors il décide de le créer, mais avant qu'il le puisse, photo2 se termine et ne peut pas le trouver, alors ils essayent tous les deux de créer le même album, provoquant l'échec? Ce serait probablement très peu probable, mais cela pourrait arriver, je pense. Ou est-ce que la plupart des serveurs Web ne traitent qu'un seul script PHP à la fois?Gestion des envois simultanés sur la base de données
Serait-ce une solution valide et bonne ?: Au lieu de photo1 vérifier si l'album existe d'abord, il essaie juste de le créer. Si elle renvoie une erreur 1062 (entrée dupliquée), ALORS elle la sélectionne. Ensuite, peu importe ce qui finit en premier si vous y réfléchissez ... Je ne sais pas si les erreurs de capture seront un gros succès. Si je télécharge 200 photos, 199 d'entre elles échouent la requête d'insertion, puis essayez de sélectionner. Si l'autre solution fonctionne correctement, 199 réussira et l'un manquera.
Pensées?
Quelle version de MySQL utilisez-vous? Quel moteur utilisent vos tables? InnoDB? MyISAM? – raspi
@raspi: vesion 5.1.30, les tables sont MyISAM. Je n'ai jamais compris ce que cela signifie réellement. – mpen