FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cambiar clave primaria
Hola foro! Cual es la sentencia válida para cambiar la clave primaria en una tabla en Interbase? Debo hacerlo en una tabla que ya contiene datos y no puedo borrar ningun dato... Gracias por la ayuda...
|
#2
|
|||
|
|||
Código:
ALTER TABLE Nombre_Tabla DROP CONSTRAINT Nombre_Primary ALTER TABLE Nombre_Tabla ADD CONSTRAINT Nombre_Primary PRIMARY KEY (Nombre_Campo) |
#3
|
||||
|
||||
He probado esto que me has dicho pero no me funciona, mira necesito cambiar la clave primaria de esta tabla que creé hace tiempo:
CREATE TABLE "USUARIO" ( "CODUSU" INTEGER NOT NULL, "NOMBRE" VARCHAR(20) NOT NULL, "CLAVE" VARCHAR(15) NOT NULL, "ADMINISTRADOR" VARCHAR(1), PRIMARY KEY ("CODUSU") ); y necesito tener esto: CREATE TABLE "USUARIO" ( "CODUSU" INTEGER NOT NULL, "NOMBRE" VARCHAR(20) NOT NULL, "CLAVE" VARCHAR(15) NOT NULL, "ADMINISTRADOR" VARCHAR(1), PRIMARY KEY ("CODUSU", "NOMBRE") ); Pero sin borrar ningun dato, ya que esta tabla esta funcionando con muchos datos. |
#4
|
|||
|
|||
Hola foro,
puede ser que en tu base de datos hay una restriccion tipo llave foranea en otra tabla que esta enlazada con la llave primaria de la tabla a la cual quiere hacerle el cambio. Debes entonces eliminar primero esas llaves foraneas, hacer los cambios a la llave primaria que te interesa. Tocaria ampliar las tablas que contenian las llaves foraneas, colocar los valores adecuados a los registros y luego crear la llave foranea.
__________________
Luis Fernando Buelvas T. |
#5
|
||||
|
||||
No existen restricciones
No tengo ningun tipo de restriccion en las tablas
y en el codigo de Cadetill: ---------------------------------------------- ALTER TABLE Nombre_Tabla DROP CONSTRAINT Nombre_Primary ALTER TABLE Nombre_Tabla ADD CONSTRAINT Nombre_Primary PRIMARY KEY (Nombre_Campo) ---------------------------------------------- ¿Acaso la clave primaria tiene un nombre? (nombre_Primary) Última edición por pinoxito fecha: 13-01-2004 a las 15:19:47. |
#6
|
||||
|
||||
Hola,
Cita:
No vendría mal que fueses más explícito; utilizar las artes adivinatorias no es algo que por aquí se nos dé nada bien. También vendría bien un poco de constancia en la participación en los hilos; con dos meses y medio de diferencia, es bantante probable que los que hubiesemos leído (personalmente ya no me acuerdo si lo había leído) o participado en el mismo no tengamos ni idea de qué iba el asunto y tengamos que leerlo entero otra vez. Saludos. |
#7
|
||||
|
||||
Cuando ejecuto la siguiente accion:
ALTER TABLE "USUARIO" DROP CONSTRAINT "PRIMARY KEY" Me sale el siguiente error: Unsuccessful metadata update CONSTRAINT PRIMARY KEY does not exist Statement: ALTER TABLE "USUARIO" DROP CONSTRAINT "PRIMARY KEY" por eso preguntaba, si en el codigo de cadetill la clave primaria tiene un nombre como el lo escribe: ---------------------------------------------- ALTER TABLE Nombre_Tabla DROP CONSTRAINT Nombre_Primary ---------------------------------------------- |
#8
|
|||
|
|||
Cuando decía
ALTER TABLE Nombre_Tabla DROP CONSTRAINT Nombre_Primary has de sustituir Nombre_Primary por el nombre que tenga tu clave primaria, por ejemplo : ALTER TABLE PRUEBA DROP CONSTRAINT PK_PRUEBA |
|
|
|