2017-07-13 6 views
0

Existe-t-il un moyen de verrouiller les entrées de table dans SQL/MySQL? Je cherche quelque chose comme ça (en php, mais il ne devrait pas d'importance):MySQL "verrouiller" une entrée de table

Pseudo-Code:

waitForTableEntryWithKey("somekey"); 
lockTableEntryWithKey("somekey"); 

doSomethingWithSQL(); 

unlockTableEntryWithKey("somekey"); 

doSomethingWithSQL() ne doit pas être exécuté plus d'une fois à la fois pour un certain tableau entrée. Existe-t-il un moyen de le faire dans SQL, sauf pour créer un locked bool dans la table et l'interroger en attendant (il semble juste une solution incorrecte)?

+0

Est-ce ce que vous cherchez? https://dev.mysql.com/doc/refman/5.7/fr/lock-tables.html et https://stackoverflow.com/questions/3662766/sql-server-how-to-lock-a-table -until-a-stored-procedure-ends –

+0

Je ne veux pas verrouiller toute la table. Juste une rangée. – Addi

Répondre

0

Je pense que vous parlez de verrouillage de ligne et cela peut être réalisé avec MySQL InnoDB. Veuillez regarder MySQL documentation. Comment cela devrait être décrit dans le script PHP est très dépend des outils que vous utilisez pour la communication avec DB.