sql >> データベース >  >> RDS >> Mysql

PHP/MySQLクリティカルセクション

    完全を期すための別の解決策:

    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);
    }
    

    MySQL GET_LOCK()ドキュメント



    1. mysqlの1つのフィールドのみを除くすべてのフィールドを選択する

    2. AWSLambda-MySQLキャッシング

    3. groupbyによる条件付き集計クエリ

    4. mysqlの日付でoutfileの名前を変更します