FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
informacion de columna clave insuficiente
Buenas a todos, les paso a comentar, tengo una tabla, la cual cree sin clave primaria ni nada por el estilo, ya que era una tabla donde los datos jamas se ivan a actulizar y solamente se ivan a ir agregando datos, pero ahora cambio, y tengo que poder dar la opcion de modificarle algunos campos, y el problema salto cuando quise aplicar esta opcion, me saltaba error de falta de columna clave, estuve mirando en los foros por varios dias y la unica opcion para arreglar este problema es agregandole un campo clave. Ahora, es posible agregar un campo clave a una tabla sin perder todos los datos ya cargados, yo cree un campo comun que acepta nulos, pero cuando genero el script para que le vaya agregandole su numero al campo clave de cada fila, en la fila 10 me salta el error de "informacion de columna clave insuficiente o incorrecta, demasiadas filas afectadas por la actualizacion", en sintesis, ahi alguna forma de agregar un campo darle los valores numericos y despues transformar este campo en clave primaria????
Creo que me mande una cagada.... igual ya aprendi. |
#2
|
||||
|
||||
Pues en teoría si se puede, si lo que quieres es agregar un campo nuevo y darle los valores únicos a cada uno y luego convertirlo en campo llave, pues si, si se puede.
El problema estaría en que quisieras que ese campo llave fuera único y ya existieran registros; en ese caso tendrías que eliminar primero los duplicados para despues poder aplicar la llave.
__________________
|
#3
|
|||
|
|||
Gracias por la respuesta rapida contraveneno, te comento que en efecto si, lo que quiero hacer hacer del campo es que sea unico, pero primero tengo el problema de que creo el campo, no lo pongo como clave primaria, sino como un campo normal, pero al ir agregandole los numeros, 1, 2, 3, 4.. cuando llega a 10 me sale el maldito cartel de " clave insuficiente o erronea" y para mi es un misterio, es un campo normal, acepta nulos y valores duplicados(por ahora) pero no me deja agregarle valores arriba del numero 9..., nose ya que hacer, tendre que eliminar la tabla, volverla a crear e importarle los datos????
|
#4
|
||||
|
||||
¿que tipo de dato es ese campo?
__________________
|
#5
|
||||
|
||||
Que instruccion utilizastes para agregar el campo?
__________________
Optimus Prime |
#6
|
||||
|
||||
El problema existe porque, como no existen campos unicos,la fila que intentas modificar puede estar repetida, por lo que el motor de base de datos no tiene un mecanismo real para identificar una fila de otra.
Yo te recomendaria a~adir una columna de tipo entero al final de la tabla, y ponerla como autoincremento. Inmediatamente guardes los cambios, se asignaran los valores a la nueva columna, y asi podran ser discriminadas unas de otras cuando intentes hacer alguna operacion de borrado o edicion. Otra alternativa es usar una columna de tipo uniqueidentifier, y un default value de newid(), pero al final te funcionara de cualquiera de las dos formas.
__________________
Héctor Geraldino Software Engineer |
#7
|
||||
|
||||
exacto, por eso pregunté que tipo de campo era... si es de cualquier otro tipo que no sea autonumérico o uniqueidentifier, pues habría que poner uno de esos dos.
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hacer que una columna de un DbGrid aparezca distinta según valor | Aprendiendo | OOP | 11 | 30-11-2018 14:47:20 |
Extraer datos de una pagina en java que tiene clave (sabiendo la clave claro) ;) | kalimocho | Internet | 2 | 29-06-2005 05:11:24 |
insuficiente memoria / insuficient memory | mmateo25v | Conexión con bases de datos | 6 | 23-03-2005 16:46:27 |
Memoria Insuficiente | rogeriobeltran | Firebird e Interbase | 4 | 27-12-2004 20:58:54 |
Memoria insuficiente para iniciar | DANY | OOP | 7 | 14-12-2003 07:17:18 |
|