Você precisa implementar um campo LOCKDATE e LOCKWHO em sua tabela. Já fiz isso em muitas aplicações fora do PHP/Mysql e é sempre da mesma forma.
O bloqueio é encerrado quando o TTL passou, então você pode fazer uma subtração de datas usando NOW e LOCKDATE para ver se o objeto foi bloqueado por mais de 30 minutos ou 1h conforme desejar.
Outro fator é considerar se o usuário atual é quem está bloqueando o objeto. Então é por isso que você também precisa de um LOCKWHO. Isso pode ser um user_id do seu banco de dados, um session_id do PHP. Mas mantenha-o em algo que identifique um usuário, um endereço de ipad não é uma boa maneira de fazer isso.
Por fim, sempre pense em um recurso de desbloqueio em massa que simplesmente redefine todos os LOCKDATEs e LOCKWHOs...
Felicidades