Hola Foreros:
Explico el escenario:
Tengo dos tablas, ambas tienes la misma estructura, ambas con un campo AUTO_INCREMENT,
una tabla tiene registros del 1 al 300 en el campo AUTO_INCREMENT, la otra tiene valores
del 1000 al 5000, también en su campo AUTO_INCREMENT.
Necesito unir ambas tablas y que el valor del campo AUTO_INCREMENT quede con el último
valor mas pequeño, en el ejemplo quiero que quede con el valor 300 para poder agregar
registros del 301 en adelante.
Después de unir ambas tablas, el campo AUTO_INCRMENET queda con el valor más alto
5000 y es lógico.
He intentado con ALTER TABLE para modificar el valor del campo AUTO_INCREMENT pero
no me permite reducirlo.
Alguna idea de cómo puedo lograrlo?
Saludos
Cómo cambiar el valor del AUTO_INCREMENT?
Cómo cambiar el valor del AUTO_INCREMENT?
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Cómo cambiar el valor del AUTO_INCREMENT?
Te devuelve algún error?
Code: Select all
ALTER TABLE mitabla AUTO_INCREMENT=1;
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Re: Cómo cambiar el valor del AUTO_INCREMENT?
Hola Leandro:
Gracias por interesarte en el tema.
No, no devuelve error alguno, solo que no cambia el valor.
Haciendo pruebas me doy cuenta, aunque no hay información al respecto, que podemos
cambiar el valor pero debe ser un valor más alto, por ejemplo en el campo tiene un valor
de 434, _ el valor por 435, o más alto pero nunca más pequeño.
Se que es lógico pues _ en llaves duplicadas pero en mi caso tengo esto
muy dominado, en la tabla receptora el campo auto_incremental va desde el 1 hasta
el 434, voy a añadir registros cuyos valor en el acmpo auto_incremental van desde el
999000 en adelante, se que corro el riesgo pero es correcto, así lo necesito y quiero
dejar como siguiente valor el 435 pero no se deja.
Saludos Leandro, un abrazo a tu tío.
Gracias por interesarte en el tema.
No, no devuelve error alguno, solo que no cambia el valor.
Haciendo pruebas me doy cuenta, aunque no hay información al respecto, que podemos
cambiar el valor pero debe ser un valor más alto, por ejemplo en el campo tiene un valor
de 434, _ el valor por 435, o más alto pero nunca más pequeño.
Se que es lógico pues _ en llaves duplicadas pero en mi caso tengo esto
muy dominado, en la tabla receptora el campo auto_incremental va desde el 1 hasta
el 434, voy a añadir registros cuyos valor en el acmpo auto_incremental van desde el
999000 en adelante, se que corro el riesgo pero es correcto, así lo necesito y quiero
dejar como siguiente valor el 435 pero no se deja.
Saludos Leandro, un abrazo a tu tío.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- Hector Pedro Lerda
- Posts: 46
- Joined: Tue May 07, 2013 7:27 pm
- Location: Buenos Aires - Argentina
Re: Cómo cambiar el valor del AUTO_INCREMENT?
Armando buen dia
Para hacer lo que pides debes insertar en la primer tabla los datos de la segunda sin el campo autoincremental, al hacer esto mysql lo hace solo.
Ejemplo
Estructura de ambas
codigo, nombre, calle, id_autoin
insert into tabla_a(codigo,nombre,calle)
select codigo, nombre, calle from tabla_b
no uses el campo del id_auto
Otra manera es que juntes las tablas, y luego borres el indice guardes y vuelvas a generar el indice
Son las dos maneras
La primera es las técnica
Saludos
Para hacer lo que pides debes insertar en la primer tabla los datos de la segunda sin el campo autoincremental, al hacer esto mysql lo hace solo.
Ejemplo
Estructura de ambas
codigo, nombre, calle, id_autoin
insert into tabla_a(codigo,nombre,calle)
select codigo, nombre, calle from tabla_b
no uses el campo del id_auto
Otra manera es que juntes las tablas, y luego borres el indice guardes y vuelvas a generar el indice
Son las dos maneras
La primera es las técnica
Saludos
Re: Cómo cambiar el valor del AUTO_INCREMENT?
Héctor:
Gracias por el consejo.
Si entiendo bien, al agregar la tabla 2 a la tabla 1 se usaría el campo AUTO_INCRMENTAL
y no es exactamente lo que quiero.
Si la tabla 1 tiene en el campo AUTO_INCREMENTAL el valor 435 mientras que en de la
tabla 2 es de 900157, necesito conservar el valor de la tabla 1 (435), pongo datos:
Tabla 1
1
2
..
435
Tabla 2
900001
900002
...
900157
Al unir ambas tablas se debe conservar el valor 435 de la tabla 1
Espero haberme explicado mejor.
Saludos, parece que no hay forma
Gracias por el consejo.
Si entiendo bien, al agregar la tabla 2 a la tabla 1 se usaría el campo AUTO_INCRMENTAL
y no es exactamente lo que quiero.
Si la tabla 1 tiene en el campo AUTO_INCREMENTAL el valor 435 mientras que en de la
tabla 2 es de 900157, necesito conservar el valor de la tabla 1 (435), pongo datos:
Tabla 1
1
2
..
435
Tabla 2
900001
900002
...
900157
Al unir ambas tablas se debe conservar el valor 435 de la tabla 1
Espero haberme explicado mejor.
Saludos, parece que no hay forma
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero