FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour C贸mo cambiar el valor del AUTO_INCREMENT?
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
C贸mo cambiar el valor del AUTO_INCREMENT?
Posted: Sat Apr 04, 2020 05:30 PM

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

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
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: C贸mo cambiar el valor del AUTO_INCREMENT?
Posted: Sat Apr 04, 2020 10:30 PM
Te devuelve alg煤n error?
Code (fw): Select all Collapse
ALTER TABLE mitabla AUTO_INCREMENT=1;
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: C贸mo cambiar el valor del AUTO_INCREMENT?
Posted: Sun Apr 05, 2020 04:58 PM

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, podemos cambiar el valor por 435, o m谩s alto pero nunca m谩s peque帽o.

Se que es l贸gico pues podemos caer 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. :cry:

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
Posts: 46
Joined: Tue May 07, 2013 07:27 PM
Re: C贸mo cambiar el valor del AUTO_INCREMENT?
Posted: Mon Apr 06, 2020 02:59 PM

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

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: C贸mo cambiar el valor del AUTO_INCREMENT?
Posted: Mon Apr 06, 2020 03:41 PM

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 :cry:

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

Continue the discussion