Je suis en train de mettre à jour deux colonnes dans un tableau en utilisant l'opérateur IN commeConfusion au sujet opérateur IN
mysql_query("UPDATE table SET value = value + 1 WHERE column IN ('row1' , 'row2')");
mais je remarque que la valeur row1 & row2 est pas mis à jour correctement comme je l'avais pensé . J'ai essayé avec ce même code dans localhost, cela a fonctionné mais sur le serveur de test avec environ 15-20 hits par heure cela ne fonctionne pas. J'ai même bloqué le trafic total du serveur de test et j'ai attendu plus de 12 heures si le serveur était en retard mais cela n'a pas aidé.
j'ai changé mon code pour
mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row1'");
mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row2'");
Maintenant j'ai commencé à la valeur en temps réel, même avec un trafic légèrement augmenté, environ 25-30 visites par heure. Est-ce que je fais une erreur dans le code, ai-je pris de l'aide de here, ou y a-t-il une limitation dans l'opérateur IN ou est-ce la faute du serveur de test?
Edit: J'utilise un hébergeur gratuit.
'' row1' et row2' est vos valeurs, que vous souhaitez mettre à jour? –
Pouvez-vous partager vos observations? Puisque vous incrémentez la valeur de la colonne, utilisez-vous les transactions internes MySQL ou l'étendue de la transaction à partir du code pour une exclusion mutuelle? Et quand vous avez dit, cela a fonctionné dans localhost, pointez-vous sur le même serveur MySQL ou un serveur différent? –
@chiragsatapara Non, '' row1' et row2' sont deux paramètres avec dans la colonne, disent '' Cat' et Dog' sur deux lignes distinctes dans la colonne 'Animals' et Apprécions être' count'. Quelque chose comme, _mysql_query ("nombre de table UPDATE SET = count + 1 WHERE colonne IN ('Cat', 'Dog')"); _ – NewBee