mysql 批量插入
1. 表结构一样
insert into 表1 select * from 表2
2. 表结构不一样(
insert into sys_user_role(user_id,role_id)
(select user_id,2 from sys_user)
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | insert into sys_dept_temp(ID,父ID,父到子之间级数,父到子路径)(SELECT dept_id AS ID,parent_id AS 父ID ,levels AS 父到子之间级数, paths AS 父到子路径 FROM ( SELECT dept_id,parent_id, @le := IF (parent_id = 0 , 0 , IF( LOCATE( CONCAT( '|' ,parent_id, ':' ), @pathlevel ) > 0 , SUBSTRING_INDEX( SUBSTRING_INDEX( @pathlevel ,CONCAT( '|' ,parent_id, ':' ),- 1 ), '|' , 1 ) + 1 , @le + 1 ) ) levels , @pathlevel := CONCAT( @pathlevel , '|' ,dept_id, ':' , @le , '|' ) pathlevel , @pathnodes := IF( parent_id = 0 , ',0' , CONCAT_WS( ',' , IF( LOCATE( CONCAT( '|' ,parent_id, ':' ), @pathall ) > 0 , SUBSTRING_INDEX( SUBSTRING_INDEX( @pathall ,CONCAT( '|' ,parent_id, ':' ),- 1 ), '|' , 1 ) , @pathnodes ) ,parent_id ) )paths , @pathall :=CONCAT( @pathall , '|' ,dept_id, ':' , @pathnodes , '|' ) pathall FROM sys_dept, (SELECT @le := 0 , @pathlevel := '' , @pathall := '' , @pathnodes := '' ) vv ORDER BY parent_id,dept_id ) src ORDER BY dept_id limit 0 , 300 ) |
insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2
3、只从另外一个表取部分字段
insert into 表1 (列名1,列名2,列名3) values(列1,列2,(select 列3 from 表2));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~