尝试在mysql db中选择insert并获取sqlerror 1205

时间:2013-11-11 14:50:02

标签: mysql

我想在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):锁定等待超时超时;尝试重新启动事务”。我阅读here“当同时从表中选择并插入表时,MySQL会创建一个临时表来保存SELECT中的行,然后将这些行插入目标表中”,这有什么问题? * innodb_version:1.1.8
protocol_version:10
版本:5.5.28 *

1 个答案:

答案 0 :(得分:0)

您插入太多记录。首先尝试执行启动事务,然后执行插入语句。然后提交更改。