Ver Mensaje Individual
  #10 (permalink)  
Antiguo 01/06/2009, 08:13
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: insercción automática de registros en navicat

Cita:
La solución seria sumar 1 a la última pk, pero no sé como hacer eso.....
Si la PK se está poniendo automáticamente, no es posible sin tener control del INFORMATION_SCHEMA.TABLES. Si quieres mantener ese esquema, la única posibilidad es hacerlo en dos etapas.
1) Tienes que recuperar el valor del máximo ID de la tabla en el campo:
Código SQL:
Ver original
  1. SELECT `auto_increment`
  2. FROM information_schema.`TABLES` T
  3. WHERE TABLE_NAME = 'NOMBRE_TABLA';
.
2) Una vez recuperado el conjunto del registro, usar ese valor de l campo `auto_increment` sumandole 1, y enviar el registro completo (incluyendo el ID).
Si intentas enviar el mismo ID del registro original sumando 1, eso funcionará solamente si ese registro es el último ingresado. Sino, siempre habrá uno posterior y lo estarías pisando.

Aún con todo esto, ten en cuenta que es muy posible que esto te genere a la alarga problemas de consistencia, si el ID de la tabla se usa como FK en alguna parte del sistema...
Y a medida que se vayan agregando, es posible que algunas consultas en funcionamiento en la actualidad, colapsen sin remedio.

Esto es sólo un "parche". Tienen que reforma si o si el sistema o eventualmente no funcionará.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)