Ho cercato e cercato, non solo in questo forum ma in tutto il web, una soluzione al mio problema, quindi provo a chiedere qui!

Come gestisce la concorrenza un server MySQL?
In pratica ho un script sul server che può essere utilizzato contemporaneamente da più utenti il quale si deve occupare di modificare il valore di un campo (ancora è da decidere se decrementare un valore fino a 0 oppure se concatenare gli ID dei "richiedenti"). Il mio problema è questo: se due utenti decidono di effettuare contemporaneamente la stessa query, la consistenza del valore sarebbe mantenuta?

In caso la query comprendesse anche Lock e Unlock della tabella (o del record), come si comporterebbe MySQL? In pratica è sempre il server a ricevere le query e quindi a scrivere nel db; ha ancora senso implementare i lock se poi l'utente "scrittore" è sempre lo stesso?

Mi spiego meglio (spero): lo script (PHP) crea una connessione al DB, fa il lock, la query e l'unlock della tabella; mettiamo che due script vogliano praticamente in simultanea eseguire la query, essendo sempre lo stesso utente a richiederla, il lock (che serve per bloccare la scrittura ad utenti differenti) continuerebbe a garantire la consistenza dei dati?