Copiar un registro en una misma tabla sql

Por ejemplo tengo la siguiente tabla:

id            cantidad

12345      15

67890       17

¿Cómo puedo hacer que el nuevo id que inserte tenga la misma cantidad que la del id 12345 sin tener que indicar el valor de la cantidad? Quiero hacerlo así porque lo utilizaré para otros registros.

Básicamente es copiar la cantidad del id que yo indique, en el nuevo registro insertado.

2 Respuestas

Respuesta

Podrías hacer un insert into  tabla1 from select * from tabla1 where id=id_origen

¡Muchas gracias por responder! Pero en la consulta que me has indicado no está la cantidad que debo copiar,es decir cuando haga un insert en la tabla el id cambia pero la cantidad la quiero copiar de otro id. No se si me explico....por ejemplo : inserto un nuevo id cuyo número es 78901 y la cantidad la copio por ejemplo del id 12345. Luego la tabla con el nuevo insert quedaría así:

id            cantidad

12345      15

67890       17

78901       15 -> es el nuevo insert realizado y el valor de la cantidad es igual a la del id 12345.

El insert sería algo como:

INSERT INTO tabla1 cantidad 
SELECT cantidad  FROM tabla1 WHERE id= 12345;

el problema que tengo aquí es que da error de duplicidad y no copia la cantidad del id 12345 en el nuevo registro insertado. 

Saludos

En ese caso quizás es más sencillo

Debes hacer

insert into TABLA1 (ID, CANTIDAD) values (78901 , (select CANTIDAD from tabla1 where id= 12345));

Obviamente, si tu campo ID es llave, no puedes duplicarlo

Respuesta

insert into tabla1

select 78901 , CANTIDAD from tabla1 where id= 12345;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas