Script 1.blocco di tabella mysql con php
$query_ = "lock tables test1 as test11 write";
mysql_query($query);
$query_ = "select * from test11";
sleep(20);
$query_ = "unlock tables";
mysql_query($query_);
Script 2.
$query_ = "select * from test1";
$result = mysql_query($query_);
Il problema è che se corro secondo script durante l'esecuzione primo script. La tabella non è bloccata. E posso leggere tutti i dati da esso.
Ho bisogno che sia bloccato e restituisca l'errore.
Come fare questo lavoro?
Potrebbe non essere d'aiuto rispondere alla tua domanda, ma dovresti smettere di usare le funzioni di 'mysql_ *'. Stanno deprecando. Usa invece [PDO] (http://php.net/manual/en/book.pdo.php) (supportato come da PHP 5.1) o [mysqli] (http://php.net/manual/en/book. mysqli.php) (supportato come da PHP 4.1). Se non sei sicuro di quale usare, leggi questo articolo (http://www.deprecatedphp.com/mysql_/). – Matt
Credo che la tabella sarà bloccata solo per quella particolare istanza di connessione mysql. Penso che funzioni in questo modo per prevenire le condizioni di gara. – Travesty3
che senso bloccare per una particolare connessione mysql? Perché il mio script vuole inserire qualcosa quando non inserisco nulla? –