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

Insertar campo Tabla

Estas en el tema de Insertar campo Tabla en el foro de Mysql en Foros del Web. Hola, Yo tengo una tabla creada que tiene 2 campos numericos los cuales ambos son clave primaria. La tabla esta llena con varios valores y ...
  #1 (permalink)  
Antiguo 24/10/2008, 01:05
 
Fecha de Ingreso: junio-2005
Ubicación: Barcelona
Mensajes: 458
Antigüedad: 18 años, 10 meses
Puntos: 4
Insertar campo Tabla

Hola,

Yo tengo una tabla creada que tiene 2 campos numericos los cuales ambos son clave primaria. La tabla esta llena con varios valores y ahora quierio insertar un campo id que sera auto_incremental pero me da error. Alguien sabe porque peude ser?

Gracias

Saludos
__________________
La ficción es y será mi única realidad
  #2 (permalink)  
Antiguo 24/10/2008, 01:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Insertar campo Tabla

No puedes tener dos campos como clave primaria. Otra cosa es que primero hicieras a uno clave primaria y luego hicieras al otro, pues en ese caso, al hacer al segundo clave primaria, el primero deja de serlo. Lo puedes comprobar con un DESCRIBE nombretabla. Respecto al auto_increment debes recordar que sólo puede haber uno por tabla y debe coincidir con un primary key, es decir, debe haber sido definida como key previamente o al tiempo.
  #3 (permalink)  
Antiguo 24/10/2008, 04:22
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, 4 meses
Puntos: 2658
Respuesta: Insertar campo Tabla

Simplificando:
1. Una clave primaria es un campo o conjunto de campos que identifican univocamente a un registro en una tabla.
2. La definición de Primary Key (PK) implica la creación automática de un índice primario, el cual a su vez se usa para mantener el ordenamiento físico de los registros en el disco.
3. Como consecuencia de esto, solamente puede haber una PK por tabla. Lo que si puede haber es varios índices UNIQUE en la misma.
4. En MySQL un campo AUTO_INCREMENT debe ser forzosamente definido como PK. MySQL no te lo aceptará de otra forma. Si intentas crear un AUTO_INCREMENT en una tabla que ya tenga PK siempre te dará un error.
5. La PK puede ser construida con más de un campo. La única condición absoluta es que el valor de ese campo no debe ni puede repetirse jamás.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 12:29.