Mysql 复制行及其所有';儿童';
我有一个名为Mysql 复制行及其所有';儿童';,mysql,sql,Mysql,Sql,我有一个名为employees的MySQL表。还有另一个名为shift的表,它通过employeeId列和一对多关系与employeeId相关联。我想使用INSERT克隆一名员工及其班次-因此employee行被克隆,而班次都被克隆,并具有为新员工生成的新的自动递增主键。在一次查询中是否可以执行此操作?可以,但不需要一次插入 您将有一个INSERT来处理员工,然后有第二个INSERT和一个子SELECT来选择所有的轮班数据 以下是一些如果您想多次执行此操作,或者希望在批量级别执行此操作,请创建一
employees
的MySQL表。还有另一个名为shift
的表,它通过employeeId
列和一对多关系与employeeId
相关联。我想使用INSERT
克隆一名员工及其班次-因此employee
行被克隆,而班次
都被克隆,并具有为新员工
生成的新的自动递增主键。在一次查询中是否可以执行此操作?可以,但不需要一次插入
您将有一个INSERT来处理员工,然后有第二个INSERT和一个子SELECT来选择所有的轮班数据
以下是一些如果您想多次执行此操作,或者希望在批量级别执行此操作,请创建一个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;
你可能需要两张,每张桌子一张。或者使用存储过程