-1

このクエリを mysql データベースで実行したい:

INSERT INTO customerdata (CustomerID, ......)
        SELECT cd.CustomerID, ...
        FROM customerdata cd
        WHERE cd.Latest = 1
        AND cd.CustomerID IN
            (SELECT CustomerID
            FROM customerdata
            WHERE Active = 1 
            GROUP BY CustomerID
            HAVING (MAX(StatisticDate) < UTC_TIMESTAMP()));

しかし、「SQLError (1205): ロック待機タイムアウトを超えました。トランザクションを再起動してください」というメッセージが表示されます。ここで「テーブルからの選択とテーブルへの挿入を同時に行うと、MySQL は一時テーブルを作成して SELECT からの行を保持し、それらの行をターゲット テーブルに挿入します」と読みましたが、何が問題なのですか? *innodb_version: 1.1.8
protocol_version: 10
バージョン: 5.5.28*

4

1 に答える 1