doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:5252回复:0

[mysql]mysql insert into select 插入多行语法

楼主#
更多 发布于:2020-08-31 15:30
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表(目标表)中,目标表中任何已存在的行都不会受影响。

语句1:Insert into Table2(field1,field2,…) select value1,value2,… from Table1 where condition;

语句2:Insert into Table2 select * from Table1;

说明:1)目标表Table2必须存在,MySQL不会自动创建;
            2)语句1一般用于两个表结构一致的情况,而语句2用于表结构不一致的情况;
            3)语句1中涉及的field1,field2也必须存在;
            4)若Table2有主键且不具备自动增长,则 field1, field2…中必须包括主键

例如:
INSERT INTO orderdetail(orderId,ruleId,num,price) 
    SELECT ${orderId},s.RuleId,s.num,r.price 
    FROM shopcart s JOIN productrule r 
    ON s.RuleId = r.Id 
    WHERE s.id IN (${sidStr})

参考 :https://www.cnblogs.com/wang-yaz/p/10763751.html
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号