CREATE UNIQUE INDEX idxname ON tablename (fieldname);
L'ajout de cet index garantira qu'aucune entrée en double pour fieldname
le champ sera enregistré dans tablename
tableau.
Vous obtiendrez une erreur MySQL avec le deuxième client. Vous devriez gérer cela dans votre code PHP et relancer le formulaire (au lieu de simplement afficher le message d'erreur).
Une autre possibilité (pour des situations plus complexes) est le LOCK
Fonctionnalité. Si vous verrouillez la table avant de vérifier et que vous insérez ensuite votre enregistrement, une opération simultanée (dans la deuxième fenêtre du navigateur) sera retardée jusqu'à ce que vous libériez les verrous. Ensuite, l'enregistrement sera déjà enregistré, donc le deuxième script PHP le verra et gérer la situation.