Insert intro desde otra tabla id desde 1

Necesito hacer un insert intro desde una tabla a otra tabla que esta vacia pero cuando haga eso necesito que id empiece en 1 no en el numero que sigue al ultimo registro por ejemplo si la ultima vez se copiaron 10 registros cuando lo vuelvo ha hacer el insert intro el id empieza en 11 y yo necesito que empiece en 1

Respuesta
2

Entendiendo que el campo ID lo has definido como auto_increment. Para poder reutilizar valores repetidos en el campo ID sin vaciar la tabla debes definir un primer campo como parte de la Primary Key, por ejemplo:

Create table ejemplo(

Fecha DATE,

ID INT auto_increment,

comentario CHAR(30),

Primary Key(fecha, ID));

La secuencia en el campo ID se iniciará a 1 utilizando como clave el campo fecha. Al tener una clave primaria múltiple, la secuencia en ID podrá repetirse dependiendo del valor de fecha:

Fecha ID comentario

------------------------------------------

01/2015 1 hola

01/2015 2 adios

02/2015 1 buenos días

02/2015 2 buenas tardes

02/2015 3 buenas noches

De modo que para hacer lo que necesitas, debes agregar un campo a la clave primaria que convierta la combinación ambos campos únicos.

2 respuestas más de otros expertos

Respuesta
1

¿Vacías la tabla cada vez antes de insertar? Cuando eliminas datos de la tabla mysql por defecto hace lo que dices - empieza desde el id siguiente. Para empezar desde 1 tienes que hacer truncate table... http://dev.mysql.com/doc/refman/5.1/en/truncate-table.html .  Inserción: INSERT tabla2 SELECT * FROM tabla1;

¿Y una tabla temporal?

Respuesta
1

Lo que necesitas es definir nuevamente el incremento en cierto numero, esto lo puedes alterar con:

ALTER TABLE tabla AUTO_INCREMENT = 11;

ó

ALTER TABLE tabla AUTO_INCREMENT = 1;

Verifica la referencia: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html 

Gracias por visitar: http://develoteca.com

Gracias por suscribirte: https://www.youtube.com/user/dimit28 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas