J'ai besoin d'insérer une ligne dans une table si une ligne n'existe pas déjà, et j'ai besoin de le faire en utilisant une procédure stockée. J'ai donc besoin de sélectionner pour vérifier si la ligne existe déjà, suivie d'un insert. Ce que je veux éviter est une condition de course dans laquelle 2 appelants de la procédure stockée peuvent voir que la ligne n'existe pas et puis tous les deux essaient d'insérer la ligne. Mes premiers réflexions sur la résolution de ce problème seraient de verrouiller la table, mais malheureusement, vous ne pouvez pas lancer LOCK TABLE
dans une procédure stockée.MySQL Alternative à "Lock Table" dans la procédure stockée
Je souhaite éviter de piéger une exception d'insertion de clé en double sur le client (C#).
Un moyen de verrouiller la table ou des solutions alternatives?
qu'en est-il de l'insertion dans ... sur une clé en double ... –
@Haim Fonctionne très bien. J'ai mis un champ à la même valeur dans "sur la mise à jour de la clé en double" et cela empêche l'erreur de la clé en double et ne met pas à jour mon champ ts. S'il vous plaît ajouter comme une réponse. –