站內搜尋

Thursday, April 28, 2022

[MYSQL] 最簡單的單筆(或多筆)資料備份語法 (同table或不同table皆可)

單筆:
表A的某筆資料(例如:id=5) 要變動前,希望能先備份到表B,語法如下:
INSERT INTO table_b SELECT * FROM table_a WHERE table_a.id = '5'

多筆:
表A的多筆資料(例如:type=1) 要變動前,希望能先備份到表B,語法如下:
INSERT INTO table_b SELECT * FROM table_a WHERE table_a.type = '1'
此時table_a只要type是1的資料,不管幾筆都會寫到table_b。

部分欄位修改:
假設我要要將表A中type=1的資料,全部複製一份,且同時改寫部分欄位,語法如下:
INSERT INTO table_a (`type`, `name`, `qty`)
SELECT 2, `name`, NULL
FROM table_a
WHERE table_a.type = '1'
此時table_a只要是type是1的資料,會全部複製一份,且type改為2、name維持一樣、qty全部為NULL,新增到資料表上。

No comments:

Post a Comment