Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Cambiar primary Key de una tabla
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Cambiar primary Key de una tabla

Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
radarcba
Usuario


Registrado: Jun 29, 2007
Mensajes: 1

Asunto: Cambiar primary Key de una tabla Responder citando

Buenas, es mi primer post en este foro y por lo que veo es muy inetresante asi que seguramente en el futuro voy a colaborar.
Mi problema actual es el siguiente:

Tengo que importar una BD de datos de un cliente que utiliza un sistema viejo y lo tengo que adaptar al nuevo. Esta adaptación incluye Insert de nuevos campos, renombrar campos , cambiar tipos de campos etc etc.
Todo funciona correctamente pero en una de las tablas, en la que necesito insertar un nuevo campo ID con las especificaciones que correspondientes ( nombre, tipo) y obviamente este campo tiene que ser PRIMARY KEY. El problema que tengo es que en la tabla que estoy actualizando ya hay un campo que tiene las caracteristicas.
Probe con las sentencias SQL que da PHPMyAdmin y el resultado siempre es un error.
Necesito quitarle el PRIMARY KEY al campo antiguo e insertar el campo nuevo como PRIMARY KEY.
Las sentencias SQL para agregar campos y actualizar, cambiando los tipos y todo los demas ya las tengo y funcionan correctamente.
Gracias
MensajePublicado:
Vie Jun 29, 2007 5:21 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Cambiar primary Key de una tabla Responder citando



Anuncios



radarcba escribió:
Buenas, es mi primer post en este foro y por lo que veo es muy inetresante asi que seguramente en el futuro voy a colaborar.
Mi problema actual es el siguiente:

Tengo que importar una BD de datos de un cliente que utiliza un sistema viejo y lo tengo que adaptar al nuevo. Esta adaptación incluye Insert de nuevos campos, renombrar campos , cambiar tipos de campos etc etc.
Todo funciona correctamente pero en una de las tablas, en la que necesito insertar un nuevo campo ID con las especificaciones que correspondientes ( nombre, tipo) y obviamente este campo tiene que ser PRIMARY KEY. El problema que tengo es que en la tabla que estoy actualizando ya hay un campo que tiene las caracteristicas.
Probe con las sentencias SQL que da PHPMyAdmin y el resultado siempre es un error.
Necesito quitarle el PRIMARY KEY al campo antiguo e insertar el campo nuevo como PRIMARY KEY.
Las sentencias SQL para agregar campos y actualizar, cambiando los tipos y todo los demas ya las tengo y funcionan correctamente.
Gracias


Para que no te dé error tendrás que hacerlo por partes:

1º Agregar el campo que será clave primaria (Primary Key):

Código:

  ALTER TABLE nombre_tabla ADD COLUMN
  campo_clave_primaria_nuevo INTEGER;


2º Agregar la información de este campo (los datos de los registros, si los hay).

3º Quitar el campo actual que es primary key, con una consulta SQL como esta:

Código:

ALTER TABLE nombre_tabla DROP PRIMARY KEY;


4º Establecer el campo nuevo como primary key con una consulta SQL como esta:

Código:

ALTER TABLE nombre_tabla ADD PRIMARY KEY (`campo_clave_primaria_nuevo`);


De esta forma, si los datos del campo "campo_clave_primaria_nuevo" cumplen las reglas de integridad, si no hay valores duplicados ni valores nulos, te debería funcionar.
MensajePublicado:
Mar Jun 17, 2008 10:50 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A