select into 和 insert into 都能满足复制表的作用,但是二者又有区别,下面具体看下
select into
语法 :SELECT vale1, value2 into Table2 from Table1
此处 创建目标表table2 并 把table1 中的数据复制到table2
注意 :要求table2 表不存在
但是测试运行「SELECT * into test1 from test where id <10」时报错 「 [Err] 1327 - Undeclared variable: ……」
经过查询关资料才知道,原来 mysql 数据库是不支持 SELECT INTO FROM 这种语句的
但是可以通过另外一种变通的方法解决这个问题「create table test1 (select * from test where id <10);」。这样也是实现复制数据表的目的
insert into from
语法: Insert into Table2(field1,field2,…) select value1,value2,… from Table1
注意:要求表table2必须存在且列必须存在并且field和value必须一一对应,且数量相等,如果是数据结构相同的表,那么可以直接用*表示
Table2的主键约束,如果Table2有主键而且不为空,则 field1,field2…中必须包括主键