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

SELECT ... * FOR UPDATE *の目的は何ですか?

    http://dev.mysql.com/doc /refman/5.0/en/innodb-locking-reads.html

    これは、トランザクションでテーブルをロックすることと関係があります。次のようなものがあるとします:

    START TRANSACTION;
    SELECT .. FOR UPDATE;
    UPDATE .... ;
    COMMIT;
    

    SELECTステートメントの実行後、別のユーザーからの別のSELECTがある場合、最初のトランザクションがCOMMIT行に到達するまで実行されません。

    FOR UPDATEにも注意してください トランザクションの外では意味がありません。



    1. PHPを使用したMySQLからのutf8mb4データの操作

    2. MySQL:LIKEで2つのテーブルを結合します

    3. 検索語が見つからない場合、SQLクエリは非常に長い間実行され続けます

    4. MariaDBでモジュロを返す3つの方法