sql要複製某個資料表有二步驟,首先要先建立LIKE
複製一個,與原先資料表一樣的一個新的資料表,之後把原本的資料INSERT
新增到剛建立的新資料表。
建立新資料表 Create Table
CREATE TABLE new_table LIKE old_db.old_table;
複製資料 Copy Table
INSERT new_table SELECT * FROM old_db.old_table;
兩個Table欄位不對應方法
若兩個Table欄位名稱數量不一樣,INSERT
資料的方式可參考下面範例,如old_table欄位id,需要新增至new_table欄位parent_id。注意在這個使用方法,如下INSERT
有(parent_id,employee_id,hi_premium,li_premium)
四個欄位需要新增,SELECT
就需要有四個欄位,不然會有錯誤訊息Column count doesn't match value count at row 1
。(這邊指的是在寫sql語句時,本身兩個table欄位數量不一樣沒關係)
INSERT new_table (parent_id,employee_id,hi_premium,li_premium)
SELECT id,employee_id,hi_premium,li_premium
FROM old_db.old_table;
SQL查詢欄位新增括號報錯:需要特別注意SELECT
後的欄位值,不需要包在括弧()
內,會顯示的錯誤訊息如Operand should contain 1 column(s)