我想在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 *
答案 0 :(得分:0)
您插入太多记录。首先尝试执行启动事务,然后执行插入语句。然后提交更改。