Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Error al borrar datos (SQL 2000)

Estas en el tema de Error al borrar datos (SQL 2000) en el foro de Bases de Datos General en Foros del Web. Hola.... decidí postear este mensaje por que ya varios inconvenientes me ha traido este problema que, a propósito, no he logrado resolver. Es un error ...
  #1 (permalink)  
Antiguo 15/12/2003, 14:13
Avatar de domi  
Fecha de Ingreso: septiembre-2003
Ubicación: Bogotá D.C
Mensajes: 61
Antigüedad: 20 años, 7 meses
Puntos: 0
Error al borrar datos (SQL 2000)

Hola.... decidí postear este mensaje por que ya varios inconvenientes me ha traido este problema que, a propósito, no he logrado resolver. Es un error que aparece cuando borras todos o algunos registros en una tabla de una base SQL.

El mensaje que aparece es:
Información de columna clave insuficiente o incorrecta; demasiadas filas afectadas por la actualización

Es curioso, pero sólo en algunas tablas me sucede, en otras borro cuanto registro quiero y nunca molesta. Si alguien sabe cómo quitarle este error a la tabla se lo agradezco.
__________________
¡Que Tengas Suertecita!
  #2 (permalink)  
Antiguo 06/08/2004, 12:57
 
Fecha de Ingreso: agosto-2004
Mensajes: 2
Antigüedad: 19 años, 8 meses
Puntos: 0
hola

Estaba buscando soluciones a este problema, porque a mi también me sucede.

Lo que genera este error en SqlServer es la duplicidad de valores en campos clave. Por ejemplo en mi caso, estaba ingresando datos desde afuera de la aplicación y no me di cuenta cargando un registro con clave 51 que ya existía.

Al querer borrar el registro duplicado, Sql SErver te da ese error porque encuentra dos registros con la misma clave y no sabe cual borrar. A diferencia de otros motores de bases de datos SqlServer parece no tener una clave única para cada registro ( como es el RowId en otras bases)

Si encuentro como solucionarlo, te comento. Por lo menos ya sabés el motivo por el cual te aparece este error en algunas tablas.
  #3 (permalink)  
Antiguo 06/08/2004, 13:56
 
Fecha de Ingreso: agosto-2004
Mensajes: 2
Antigüedad: 19 años, 8 meses
Puntos: 0
hola de nuevo

Hola, encontré como se puede solucionar el problema

fijate en esta dirección

http://support.microsoft.com/default...NoWebContent=1

probé la sugerencia y pude eliminar las claves duplicadas, suerte
  #4 (permalink)  
Antiguo 06/08/2004, 14:46
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Por eso es recomendable (casi obligatorio) que cada columna tenga definida su Primary Key, asi no tendrán problemas como este.
Cita:
A diferencia de otros motores de bases de datos SqlServer parece no tener una clave única para cada registro ( como es el RowId en otras bases)
Revisa la propiedad de columna IDENTITY
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 09/08/2004, 13:02
 
Fecha de Ingreso: junio-2004
Ubicación: Castellón, España
Mensajes: 98
Antigüedad: 19 años, 9 meses
Puntos: 0
Para solucionar este problema en sqlSERVER, lo mejor es "siempre" crear una clave única autonumérica para cada registro de cada tabla y efectuar las relaciones a través de este campo o, en todo caso, asegurarse muy bien que no se dupliquen claves únicas. También hay que estudiar muy bien como relacionar las diferentes tablas y aseurarse que todos los parámetros sean correctos. Si todo esto no está claro, puede dar problemas al ejecutar INSERT, UPDATE o DELETE.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:31.