Copiar registros de una tabla de la base de datos en la misma tabla cambiando algunos campos

Hola,

Quería copiar unos registros de una tabla de la base de datos en la misma tabla cambiando algunos campos. Estoy usando PHP y MYSQL.

Creo que lo mejor es explicarlos con un ejemplo:

Imaginad que tengo la tabla empleados (id, idcliente, idpuesto) con los siguientes registros:

1 / 1 / 1

2 / 2 / 10

3 / 2 / 11

4 / 3 / 35

Y la tabla puestos (id, idcliente, responsabilidad)

1 / 1 / jefe

...

10 / 2 / jefe

11 / 2 / técnico

...

35 / 3 / jefe

Como veis el idpuesto de la tabla empleados se corresponde al id de la tabla puestos.

Mi intención es copiar un cliente (creando un nuevo registro en la tabla clientes), pero claro eso conlleva el duplicar registros en otras tablas.

Por ejemplo si copio el idcliente=2, en la tabla empleados tengo que duplicar los registros que tengan idcliente=2, quedando así:

1 / 1 / 1

2 / 2 / 10

3 / 2 / 11

4 / 3 / 35

5 / 4 / 10

6 / 4 / 11

INSERT INTO empleados (idcliente, idpuesto) SELECT $id_nuevo_cliente, idpuesto FROM empleados WHERE cliente = 2

Pero eso no sería correcto, habría ya que los idpuesto insertados corresponden al idcliente=2. Por lo tanto tendría que duplicar los registros de idcliente=2 de la tabla puestos, quedando esta así:

1 / 1 / jefe
...
10 / 2 / jefe
11 / 2 / técnico
...
35 / 3 / jefe

36 / 4 / jefe

37 / 5 / técnico

Ahora tendría bien la tabla puestos, pero no sé como actualizar la tabla empleados para que quede como debería:
1 / 1 / 1
2 / 2 / 10
3 / 2 / 11
4 / 3 / 35
5 / 4 / 36
6 / 4 / 37

A ver si podéis echarme una mano que ando muy perdido. Un saludo y gracias de antemano.

Añade tu respuesta

Haz clic para o