select into from 与 insert into select 区别

袁志蒙 2991次浏览

摘要:网上资料: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

随机内容

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~