このクエリを 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*