I have a MySQL database with InnoDB tables.
There are different client processes making SELECT
(to check the existence of a value) and INSERT
or UPDATE
(depending on the result of the select) statements.
What I fear is a possible concurrent access to data causing only INSERT
s and no UPDATE
s.
Is LOCK Table WRITE the only solution?
MySQL concurrent INSERTs
concurrencylockingMySQL
Related Question
- MySQL Concurrency – Manage Concurrencies Without Locking Tables
- MySQL – Order Locks Acquisition in MySQL 5.1
- SQL Server – How to Prevent Massive INSERTs from Blocking SELECTs
- Mysql – InnoDB MySQL table with a trigger that inserts into a MyISAM table
- Mysql – Concurrent UPDATE deadlock (updating 2 fields, selecting by PK)
- SQL Server – Read Committed Snapshot Isolation with Selects and Inserts Only
Best Answer
It looks like you need
SELECT ... FOR UPDATE
Pseudo code: