Les tables MyISAM utilisent le verrouillage au niveau de la table. Cela signifie que toute la table sera verrouillée lors de l'exécution de votre requête de mise à jour. Donc, la réponse à votre cas d'utilisation simplifié est: oui, ceci est sûr pour les threads. Mais cela peut ne pas être le cas si vous utilisez un autre moteur de stockage ou si votre mise à jour inclut plusieurs tables.
Voici une citation du manuel MySQL pour plus de clarté:
Le verrouillage de table permet à de nombreuses sessions de lues à partir d'une table en même temps, mais si une session veut écrire à une table , il doit d'abord obtenir l'accès exclusif . Pendant la mise à jour, toutes les autres sessions qui souhaitent accéder à cette table particulière doivent attendre que la mise à jour soit terminée.
Vous pouvez également envisager d'utiliser des colonnes d'incrémentation automatique, des transactions ou une synchronisation externe si cela correspond à votre conception.
À la votre!
Vous pourriez également être intéressé par ma réponse à une autre question de verrouillage: http://stackoverflow.com/questions/3312361/does-this-lock -the-database/3312790 # 3312790 – Mike