Guión 1.tabla mysql bloqueo con php
$query_ = "lock tables test1 as test11 write";
mysql_query($query);
$query_ = "select * from test11";
sleep(20);
$query_ = "unlock tables";
mysql_query($query_);
escritura 2.
$query_ = "select * from test1";
$result = mysql_query($query_);
El problema es que si corro segundo script mientras se ejecuta la primera secuencia de comandos. La tabla no está bloqueada. Y puedo leer cualquier dato de eso.
Necesito que se bloquee y devuelva el error.
¿Cómo hacer esto?
Puede que no ayude a responder su pregunta, pero debe dejar de usar las funciones 'mysql_ *'. Están siendo desaprobados. En su lugar, use [PDO] (http://php.net/manual/en/book.pdo.php) (compatible con PHP 5.1) o [mysqli] (http://php.net/manual/en/book. mysqli.php) (compatible a partir de PHP 4.1). Si no está seguro de cuál usar, [lea este artículo] (http://www.deprecatedphp.com/mysql_/). – Matt
Creo que la tabla solo se bloqueará para esa instancia de conexión mysql en particular. Creo que funciona de esta manera para evitar condiciones de carrera. – Travesty3
¿Qué sentido tiene bloquearlo para una conexión mysql particular? ¿Por qué mi secuencia de comandos desea insertar algo cuando no inserto nada? –