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

Insertar un dato ya existente

Estas en el tema de Insertar un dato ya existente en el foro de Mysql en Foros del Web. Hola que tal, un saludo a todos soy nuevo por aqui, y claro tambien nuevo en el uso del mysql ye base de datos aunque ...
  #1 (permalink)  
Antiguo 06/11/2008, 10:45
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación Insertar un dato ya existente

Hola que tal, un saludo a todos soy nuevo por aqui, y claro tambien nuevo en el uso del mysql ye base de datos aunque tengo ciertas nociones.
Bueno mi problema es el siguiente:
Tengo una pagina web donde los usuarios cada cierto tiempo llenando un formulario
se les abona a su cuenta de usuario un cantidad de puntos.
Todo esto usando claro la base de datos. El problema que tengo, es que cuando llenan por primera vez el formulario se les abonan su puntos sin ningun problema a a su cuenta. Pero cuando lo llenan por segunda vez el mismo usuario con la misma cuenta y lo envian el campo de account_id de la tabla como ya tiene el valor de la cuenta del mismo me marca el sig error (esto pasa con todos los que ya llenaron el formulario por primera vez)

Error

consulta SQL: Editar

INSERT INTO `96865_ragnarok`.`cash_points` (
`account_id` ,
`points_to_add`
)
VALUES (
'2000010', '10'
)

MySQL ha dicho: Documentación
#1062 - Duplicate entry '2000010' for key 1

Quisiera saber si hay alguna manera de que cuando se inserten los datos no haya problema en ninguno de los campos, y se le abonen al usuario otros 10 puntos o se sumen a los que ya existen en esa cuenta. ( sin importar que ya esta en la tabla )
De antemano les doy las gracias por su ayuda y espero no molestar como les mencione anteriormente estoy empezando en el MYSQL y PHP.
aqui les dejo mi tabla como fue creada en sql:


CREATE TABLE IF NOT EXISTS `cash_points` (
`account_id` int(11) NOT NULL,
`points_to_add` int(11) NOT NULL default '0',
UNIQUE KEY `account_id` (`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  #2 (permalink)  
Antiguo 06/11/2008, 11:02
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Insertar un dato ya existente

Hola
Puedes hacer dos cosas
1. Hacer una consulta antes de insertar y verificar si ya existe el dato luego hacer un update
2. Usar el comando REPLACE http://dev.mysql.com/doc/refman/5.0/es/replace.html

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
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 21:34.