摘要:网上资料:INSERT INTO SELECT语句 ,语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1,要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量...
网上资料:
INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量
SELECT INTO FROM语句
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
实验:
到底是不是这样子的呢?还是自己动手试试吧~
1.就用test库来做实验吧,这里我原来有一个test表,我就用这个表来测试吧。
2.创建表 test2:
CREATE TABLE `test2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user` varchar(30) NOT NULL DEFAULT '', `content` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
3.执行insert into select语句:
insert into test2(user,content) select name,pass from test;
OK,亲测么有问题!接下来该测试select into from语句了
4.执行select into from语句:
SELECT name,user,content INTO new_test2 FROM test2;
结果却报:[Err] 1327 - Undeclared variable: new_test2
很显然MYSQL不支持SELECT INTO 表的语法。
查了相关资料,找到解决方法:
CREATE TABLE new_test2 AS SELECT id,user,content FROM test2