当我运行此查询时,它总共返回 6,338 行。
SELECT updated.playerId
FROM updated WHERE updated.updated = 0;
但是,当我运行此查询时,它总共只插入 2,771 行,而它应该插入全部 6,338 行。
INSERT IGNORE INTO playerold (playerID)
SELECT updated.playerId
FROM updated WHERE updated.updated = 0;
我在这里遗漏了什么吗?
最佳答案
1 如果您想要所有记录并使用以下查询,请删除playerold表中可用的唯一约束:
INSERT INTO playerold (playerID)
SELECT updated.playerId
FROM updated WHERE updated.updated = 0;
或者,
2 尝试:
INSERT INTO playerold (playerID) VALUES (SELECT updated.playerId
FROM updated WHERE updated.updated = 0) ON DUPLICATE KEY UPDATE playerID=playerID
关于mysql - INSERT ... SELECT 语法不会插入所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24571892/