摘要:網上資料: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