我有一个名为employees
的MySQL表。另一个名为shifts
的表格与employees
列的employeeId
和一对多关系相关联。我想使用INSERT
克隆一名员工和他的班次 - 所以克隆了employee
行,并且shifts
都被克隆并且具有为其生成的新的自动递增主键新的employee
。这在一个查询中是否可行?
答案 0 :(得分:5)
答案 1 :(得分:2)
如果您想多次这样做,或者想要在批量级别上执行此操作,请创建一个sp,为员工插入一个dupe条目,然后为他的所有班次插入dupe条目。
类似的东西:
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;