查询结果写进表要点
- 写法:INSERT INTO 目标 (列) SELECT ... FROM 源表
- 查询结果的列数和类型要和插入列匹配
- 常用于把热数据归档到历史表、生成统计表
- SELECT 里可带 WHERE 只搬符合条件的行
- 大批量搬运要分批,避免长事务锁住两张表
- 源和目标可以是同一张表做自我复制去重
查询结果写进表示例
-- 把低价商品复制到促销表
INSERT INTO promo_product (name, price)
SELECT name, price FROM product
WHERE price < 100;
避坑提醒:INSERT SELECT 同时锁读写两张表,大表搬运记得加 LIMIT 分批,别一次锁死业务。