Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

varios auto_increment en misma tabla

Estas en el tema de varios auto_increment en misma tabla en el foro de Mysql en Foros del Web. Hola a todos, que gusto verlos nuevamente, tengo un reto ojalá alguien sepa respoderlo: De que manera puedo poner "varios auto_increment en una misma tabla" ...
  #1 (permalink)  
Antiguo 13/06/2010, 01:16
Avatar de erichfrom  
Fecha de Ingreso: octubre-2004
Mensajes: 148
Antigüedad: 19 años, 6 meses
Puntos: 1
varios auto_increment en misma tabla

Hola a todos, que gusto verlos nuevamente, tengo un reto ojalá alguien sepa
respoderlo:

De que manera puedo poner "varios auto_increment en una misma tabla" por ejemplo la de abajo me da un error:

CREATE TABLE cot (
id int(11) NOT NULL auto_increment,
it int(11) NOT NULL auto_increment,
contenido text,
KEY id (id)
) ENGINE=MyISAM AUTO_INCREMENT=40 DEFAULT CHARSET=utf8;

Me marca este error:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
  #2 (permalink)  
Antiguo 13/06/2010, 07:51
Avatar de 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: varios auto_increment en misma tabla

MySQL no acepta poner más de un auto_increment por cada tabla... Y no hay forma de evadir esa restricción.
La pregunta es ¿en qué forma utilizarías dos autoincrement en una misma tabla?

O sea: ¿Qué es exactamente lo que quieres lograr?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 16/06/2010, 22:10
Avatar de erichfrom  
Fecha de Ingreso: octubre-2004
Mensajes: 148
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: varios auto_increment en misma tabla

Quiero evitar hacer un contador externo de los registros, porque junto en una tabla varias, entonces cada una necesita su id.

Pero sino hay forma, las separo. Muchas gracias.
  #4 (permalink)  
Antiguo 16/06/2010, 22:23
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: varios auto_increment en misma tabla

Creo que estas un poco enredado.
como dice gnzsoloyo, esto no es posible, pero asi lo fuera, tendrías 2 campos exactamente iguales y esto no te daría ninguna funcionalidad. recuerda que un auto_increment se suma cada que se ingresa un nuevo registro y el hacer uso de este campo como contador sería equivalente a hacer uso del mismo campo definido como auto_increment.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 16/06/2010, 23:04
Avatar de 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: varios auto_increment en misma tabla

Exactamente como dice Huesos52: Si tienes dos contadores definidos en una misma tabla, ambos se incrementan al mismo tiempo y en la misma cantidad.
El único sentido de dos campos de tal tiempo sería si uno de ellos se reinicia bajo ciertas condiciones, como sería el caso de indicar las líneas de una factura. Pero en ese caso seguiría siendo un sólo contador, porque el otro campo sería entonces una FK y no un auto_increment, apuntando a la tabla Factura.
¿Se entiende la idea?
En ese caso, uno de los dos campos puede tener un incremento secuencial cuyo valor dependa de otro criterio aplicado en la tabla, por lo que no correspondería un auto_increment en el sentido estricto.

Creo que debería explicar mejor el escenario, porque lo que quieres, tal y como lo describes no parece necesario.
¿Se parece, tal vez, a la relación entre las tablas Factura y Detalle_Factura?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:44.