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... :D
|
Código:
ALTER TABLE Nombre_Tabla |
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. |
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. |
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) |
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. |
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 ---------------------------------------------- |
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 |
La franja horaria es GMT +2. Ahora son las 04:02:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi