You are here:GeoTux»Geo-Foros»Ayuda

Estadísticas

Invitados: 23
Usuarios registrados: 3181
Usuarios en línea:
-
Registrados hoy:
-

Registro

Redifusión (RSS)

Blogs y Noticias:
Recibe las actualizaciones en Geo-Noticias y Geo-Blogs

Recibir por e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿Qué es esto?

Welcome, Guest
Username Password: Remember me
  • Page:
  • 1

TOPIC: Ayuda

Ayuda 31 May 2013 22:50 #976

  • lvega
  • OFFLINE
  • Visitante casual
  • Posts: 3
  • Karma: 0
Hola.

Me podrían ayudar, necesito cambiar el primary_key en postgis como puedo hacer, por defecto sale __gid y necesito cambiarlo.

Gracias.

Atentamente,

Luis Angel Vega Panta

Re: Ayuda 04 Jun 2013 14:24 #979

  • m3rcury
  • OFFLINE
  • Destacad@
  • Posts: 109
  • Karma: 5
Hola, antes de importar seguramente tendras el .sql, en el tienes que asegurarte de tener otro campo que cumpla con la unicidad y simplemente cambiar el PRIMARY KEY que viene en el gid por el otro.

Si utilizas otro metodo de importacion tendras que indicarnoslo y asi poder ayudarte.



Saludos

Re: Ayuda 04 Jun 2013 18:11 #981

  • lvega
  • OFFLINE
  • Visitante casual
  • Posts: 3
  • Karma: 0
Gracias amigo por tu respuesta la entiendo, pero el inconveniente mio es que ya tengo una base de datos ya creada con pk __gid y quiero cambiar ese pk a otro campo trato de hacerlo con alter table por las propiedades del campo pero no me lo permite.

Saludos

Re: Ayuda 04 Jun 2013 20:28 #982

  • m3rcury
  • OFFLINE
  • Destacad@
  • Posts: 109
  • Karma: 5
Estimado, te dejo un ejemplo basico para lo que necesitas

 
CREATE TABLE tst_key(
gid integer NOT NULL PRIMARY KEY,
clave_candidata character(3),
secund01 character(5)
);
 
INSERT INTO tst_key (gid, clave_candidata, secund01) VALUES (1,'101','Rojo');
INSERT INTO tst_key (gid, clave_candidata, secund01) VALUES (2,'202','Verde');
INSERT INTO tst_key (gid, clave_candidata, secund01) VALUES (3,'303','Negro');
INSERT INTO tst_key (gid, clave_candidata, secund01) VALUES (4,'404','Caoba');
INSERT INTO tst_key (gid, clave_candidata, secund01) VALUES (5,'505','Azul');
 
-- codigo elimina la primary_key
ALTER TABLE tst_key DROP CONSTRAINT tst_key_pkey;
 
-- codigo asigna primary_key a otro campo
ALTER TABLE tst_key
ADD CONSTRAINT tst_key_pkey PRIMARY KEY(clave_candidata );
 


... es tan basico que no tiene relaciones con otras tablas, si la tuya ya tiene relaciones con otras, pues seguramente tienes que hacer lo mismo con las llaves foraneas.


Saludos
The following user(s) said Thank You: lvega

Re: Ayuda 04 Jun 2013 21:23 #983

  • lvega
  • OFFLINE
  • Visitante casual
  • Posts: 3
  • Karma: 0
Hola mi estimado gracias por tu tiempo y tu amabilidad ah responder mi petición de ayuda, e hecho lo del códido descrito lineas arriba me elimina el pkey pero no me logra crear uno nuevo e grabado un videito del procedimiento , quizás aya hecho algo mal, espero que me puedas responder de nuevo

Gracias.

Atentamente,

Luis Angel Vega Panta

Re: Ayuda 05 Jun 2013 14:26 #984

  • m3rcury
  • OFFLINE
  • Destacad@
  • Posts: 109
  • Karma: 5
Estimado,

como te comenté en el primer correo, debes asegurarte de que el campo a asignar la PK sea único. Esta PK puede estar formada por uno o varios campos, siempre y cuando se verifique la unicidad del registro.

el campo que indicas en el video, claramente no es unico, ya que tienes '' o NULLs en el campo.


Si deseas probar:
crea una nueva tabla crea con los primeros 3 registros, o cuantos quieras, y modifica los valores en los que tengas '' por algo distinto (y distintos entre si)

OJO, que si tienes duplicado cualquier otro registro en ese campo no podrás convertirlo en PK.


Saludos
  • Page:
  • 1
Time to create page: 0.66 seconds
 

¿Dónde nos leen?

Usuario aleatorio

Últimos comentarios