1.INSERT INTO SELECT基础用法是从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。
INSERT INTO table2 SELECT * FROM table1;
或者
INSERT INTO table2 (colum_name, ...) SELECT column_name, ... FROM table1;
2.还可以传值赋值和复制字段同时进行
INSERT INTO table (name, original_price, sale_price, type) SELECT #{newName} as name,
#{newlPrice} as original_price, original_price, type FROM table where id = #{id}
3.SELECT INTO FROM 和 INSERT INTO SELECT
区别:要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中
SELECT colum_name1, vcolum_name2 into table2 from table1
以上都是只适合两张表操作, 如果复制的表是多个, 那么可以先把要复制的表们创建成视图, 再复制。