狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

MySQL中INSERT INTO SELECT的使用

Ccoffee
2012年5月11日 9:19 本文熱度 2939


1. 語法介紹
      有三張表a、b、c,現在需要從表b和表c中分別查幾個字段的值插入到表a中對應的字段。對于這種情況,可以使用如下的語句來實現:


INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name
 


      上面的語句比較適合兩個表的數據互插,如果多個表就不適應了。對于多個表,可以先將需要查詢的字段JOIN起來,然后組成一個視圖后再SELECT FROM就可以了:


INSERT INTO a (field1,field2) SELECT * FROM(SELECT b.f1,c.f2 FROM b JOIN c) AS tb
 


      其中f1是表b的字段,f2是表c的字段,通過JOIN查詢就將分別來自表b和表c的字段進行了組合,然后再通過SELECT嵌套查詢插入到表a中,這樣就滿足了這個場景了,如果需要不止2個表,那么可以多個JOIN的形式來組合字段。

2. 語法錯誤注意
      需要注意的是嵌套查詢部分最后一定要有設置表別名,如下:


SELECT * FROM (SELECT f1,f2 FROM b JOIN c) AS tb


      即最后的AS tb是必須的(tb這個名稱可以隨意取),即指定一個別名。每個派生出來的新表都必須指定別名,否則在mysql中會報如下錯誤:


ERROR 1248 (42000): Every derived TABLE must have its own alias
 


      另外,MySQL中INSERT INTO SELECT不能加VALUES,即不能寫成如下形式:


INSERT INTO db1_name(field1,field2) VALUES SELECT field1,field2 FROM db2_name
 


      否則也會報錯:You have an error in your SQL syntax


該文章在 2012/5/11 9:19:14 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved