Tengo una gran cantidad de filas que me gustaría copiar, pero necesito cambiar un campo.
Puedo seleccionar las filas que quiero copiar:
select * from Table where Event_ID = "120"
Ahora quiero copiar todas esas filas y crear nuevas filas mientras configuro Event_ID
a 155
. ¿Cómo puedo lograr esto?
Esta es una solución en la que tiene muchos campos en su tabla y no desea que se le caigan los dedos al escribir todos los campos, simplemente escriba los necesarios :)
Cómo copiar algunas filas en la misma tabla, con algunos campos que tienen valores diferentes:
Tu codigo:
Código de escenario general:
Código simplificado / condensado:
Como la creación de la tabla temporal utiliza la
TEMPORARY
palabra clave, se eliminará automáticamente cuando finalice la sesión (como sugiere @ ar34z).fuente
TEMPORARY
palabra clave para crear tablas temporales. El uso deCREATE TEMPORARY TABLE
automáticamente eliminará la tabla cuando finalice la sesión (una serie de consultas SQL). Dejar la tabla no sería necesario y no entra en conflicto con otras tablas temporales que usan el mismo nombre. (por ejemplo, cuando pirateo en vivo (que no recomendaría))ALTER TABLE temporary_table MODIFY <auto_inc_not_null_field> INT;
Luego, la actualización de la clave primaria a Null no fallaría.Exception: null value in column <auto_inc_not_null_field> violates not-null constraint
. Lo intentéALTER TABLE temporary_table ALTER COLUMN <auto_inc_not_null_field> DROP NOT NULL;
Digamos que su mesa tiene otras dos columnas: foo y bar
fuente
Si tiene muchas columnas en su tabla y no desea escribir cada una, puede hacerlo usando una tabla temporal, como;
fuente
Hola, ¿qué tal copiar todos los campos, cambiar uno de ellos al mismo valor + otra cosa?
??????????
fuente
Mientras Event_ID sea Integer, haga esto:
fuente