如何MySQL SQL複製資料表copy table

8 月 22, 2019 | | 0 comments

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)