前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >INSERT INTO SELECT 实例

INSERT INTO SELECT 实例

作者头像
全栈程序员站长
发布2022-09-14 19:25:33
3610
发布2022-09-14 19:25:33
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

需求:

把一个表中特定的2列查询出来,然后插入到另外一张表,插到另一张表的其他列的值是固定值。

要插入的表,插入全部内容时是这样的:

代码语言:javascript
复制
INSERT INTO `mapping_record` (id,mapping_record.type,sim_id,wx_id,created_time,updated_time,is_available) 
VALUES (uuid(),'940ceb86d7c444bd81799edfd4a9beb3','00013543','00013543',1511237080130,NULL,'1')

现在要把sim_id,wx_id从其他表中查询出来,然后其他列按上面的定值,再插入到mapping_record表,sql大致如下:

代码语言:javascript
复制
INSERT INTO `mapping_record` (id,mapping_record.type,sim_id,wx_id,created_time,updated_time,is_available) 
SELECT uuid(),'59e5cb4b0c824adea8adb2a87870875d',soe.fd_keyword AS sim_id,mapping.fd_wid AS wx_id,1511237080130,NULL,'1'
FROM wechat_org_mapping  mapping,sys_org_element soe
where  ...

因为sim_id,wx_id是从其他表中查询出来,连接查询比较复杂,这里就不贴了。但是注意,只要把特殊的列查询出来,指定别名就可以了。

以下2中从一个表复制插入到另一个表简单的情况

1、如果两个表所有的列都相同,把table1的记录复制到table2:

代码语言:javascript
复制
INSERT INTO table2
SELECT * FROM table1;

2、只复制某一列:

代码语言:javascript
复制
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

我用的是mysql数据库,Oracle也支持这种写法。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159623.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档