首頁 > Database > Mysql INSERT … SELECT 太舊版不支援

Mysql INSERT … SELECT 太舊版不支援

2012年9月12日 發表評論 閱讀評論

Insert Select 的語法,不太常用,但要使用時沒有作用就覺得很討厭,在一個蠻舊版的Mysql上,臨時有這個需求才發現顯示了原來這個語法在舊版本Mysql是不支援的。
在以下的連結有人就有說到在4.1.6後的版本就都可以用了….可惡!! 我的版本是4.0.16…無言!

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

This refers to mysql 4.1.6 and later versions for sure.

既然不能用,只好用土法練鋼法,當要新增大量資料時,可以使用EXCEL 來進行產生SQL檔(如果你有一些mysql 工具就不用這麼克難了,我是在執行的環境沒有才出此下策),怎麼產生呢?
利用excel 寫好insert 指令,把各值放到其它的欄位,這樣就可以整行COPY 過來產生SQL 語法,如下圖:

這邊要記住,在excel 的欄位如果字首要有單引號出現,就要輸入兩個單引號才會出現
好,當完成後就可以COPY 貼到文字檔,這時還要做一個動作,就是置換TAB
因為COPY 過來的insert 指令各欄位之間會用TAB符號區隔,這樣是不合用的
所以再把TAB符號換成空字串就完工了!!

備註: 9/20 update 
後來經測試,好像4.0.16的版本是可以支援insert select 的,不過能支援的語法比較單純,就是只能
insert into newtable select * from oldtable;
不能指定欄位
Be Sociable, Share!
Categories: Database Tags:
  1. 目前尚無任何的評論。
  1. 目前尚無任何 trackbacks 和 pingbacks。

*