2011-07-20 51 views
3

我有一個名爲employees的MySQL表。還有另一個表shiftsemployeesemployeeId列和一對多關係有關。我想用INSERT克隆一個員工和他的班次 - 因此employee行被克隆,並且shifts都被克隆,並且具有爲新的employee生成的新的自動遞增主鍵。這可能在一個查詢中嗎?複製行及其所有「子」

+2

你可能需要兩個,一個爲每個表。或者使用存儲過程 – CaffGeek

回答

5

是的,但沒有一個插入。

您將有一個INSERT來完成該員工,然後是第二個INSERT和一個子SELECT來選擇所有的班次數據。

下面是一些examples

2

如果你想這樣做了很多次,還是希望做一個體積含量,創建插入一個僱員愚弄的人進入的SP,然後插入重複數據刪除的條目他的一切轉變。

喜歡的東西:

CREATE PROCEDURE sp_cloneEmployee 
@employeeId int 
AS 
INSERT INTO employees 
SELECT * FROM employees 
WHERE employeeId = @employeeId; 

INSERT INTO shifts 
SELECT * FROM shifts 
WHERE employeeId = @employeeId; 
相關問題