Do they really need to lock the table, or would database transactions suffice? You can use transactions if you turn AutoCommit off (see
docs), and then commit() when you are done updating. The thing to worry about here is multiple people selecting the same data, then someone updating it first, then someone else updating it based on stale data (if you care about this situation). But there are ways to solve that also without resorting to locking the entire table.