Duplicar registros en una tabla SQL

No Comments »

Bueno para hacerlo se hace de la siguiente forma:

Digamos que tenemos la tabla mitabla y que tenemos campo0 que es igual a mi llave primaria, aparte de eso tenemos campo1, campo2 y campo3, y queremos duplicar todo lo que haya en campo1, campo2 y campo3, quedaria entonces de la siguiente forma:

INSERT INTO mitabla (campo1, campo2, campo3) SELECT campo1,campo2,campo3 FROM mitabla WHERE campo2=1

El anterior es un ejemplo de como quedaria cuando queremos duplicar los campos1, 2 y 3 que coincidan con el campo2 igual a 1.

A continuacion se muestra como insertar valores en dado caso de que no queramos que sea un campo:

INSERT INTO mitabla (campo1, campo2, campo3) SELECT 12,campo2,’Info’ FROM mitabla WHERE campo2=1

Vemos que en el campo 1 se insertara 12 y en campo 3 se insertara el texto Info, pero el campo2 seguira insertando lo que hay en el campo2, digamos que no tenemos en nuestra tabla no tenemos llaves, o campos que sean unicos y no se puedan repetir, entonces eso facilita mas las cosas si queremos copiar todos, en nuestro caso la tabla mi tabla tendria campo0, campo1 y campo2 el ejemplo quedaria asi:

INSERT INTO mitabla SELECT campo0, campo1, campo2 FROM mitabla WHERE campo2=1

Y copiariamos todos los campos que existen en la tabla sin problema porque de otro modo podria darnos error por que no puede duplicar un numero unico o una llave primaria, no he probado usar un SELECT *, pero bueno, dejo esto como anotacion y para ver si a alguien mas le sirve.

abril 28th 2011 MySQL, Programacion

Uso de tabla information_schema

No Comments »

Bueno, al principio no sabia para que se creaba esa tabla, hoy le vi la funcion y por ejemplo queria saber cuales eran los campos de una tabla, y buscando informacion encontre el uso que se le daba a la tabla, por ejemplo para lo que necesitaba solo hice lo siguiente:

SELECT column_name FROM information_schema.columns WHERE table_name = ‘nombre de mi tabla’

Y listo, con ese simple select saque las columnas, si necesitas informacion de la base de datos y no sabes como sacarla, te aconsejo que te des una vuelta por la tabla information_schema, puede que encuentres lo que necesites con una simple consulta.

72.44.83.180

enero 21st 2010 MySQL, Programacion