sql >> Databáze >  >> RDS >> Mysql

Kritická sekce PHP/MySQL

Další řešení jen pro úplnost:

private function getLock() {
    $lock = $this->pdo->query("SELECT GET_LOCK('my_lock_name', 5)")->fetchColumn();

    if ($lock != "1")
        throw new RuntimeException("Lock was not gained: " . $lock);
}

private function releaseLock() {
    $releaseLock = $this->pdo->query("SELECT RELEASE_LOCK('my_lock_name')")->fetchColumn();

    if ($releaseLock != "1")
        throw new RuntimeException("Lock not properly released " . $releaseLock);
}

Dokumentace MySQL GET_LOCK()



  1. Smyčka přes dimenzi pole v plpgsql

  2. as3, připojení MySQL PHP

  3. Jak aktualizovat více tabulek jedním dotazem mysql?

  4. Znovu použít řádky v tabulce mysql bez automatického zvyšování