hola gracias gnzsoloyo y sergiorelativo por sus respuestas, la base de datos es MYSQL y estos son los campos
cliente_id (autonincrementable)
cliente_nombre (cualquier nombre)
cliente_tipoidentificacion (DNI, pasaporte, etc)
cliente_nroidentifcacion(XXXXX numeros de identificacion)
cliente_correo(correo del cliente)
De aquí yo noto que nro de identificacion y correo son datos unicos para un cliente, a pesar de no ser llaves primarias que evite su redundancia, simplemente no va a pasar nada porque en si mismas, los campos contienen datos unicos,
O sea: UPDATE .. . WHERE cliente_correo = campodetextodecorreodecliente
o sino: UPDATE ..... WHERE cliente_nroident = campodetextodenrodeidentificacion
Luego en mi formulario selecciono un cliente y sus datos estan desplegados en los campos de formulario que tmabien utilizo para agregar, con un boton, puedo desplegar los datos de un cliente seleccionado, ahora para proceder a actualizar, cambio en ese mismo formulario los datos y presiono en vez de agregar actualizar, donde el campo de nro de identificacion se mantenga intacto o el de correo intacto y funciona.
De aqui puedo intuir que puedes cambiar todos los datos menos el campo donde dice WHERE porque el UPDATE necesita un apoyo para actualizar que es el WHERE y que esta desplegado en el formulario.
Pero que pasa si un cliente me dice que ahora tiene nuevo correo, entonces selecciono sus datos antiguos y cambio el correo, pero no va a actualizar porque el update where se basa en el dato antiguo para actualizar, o sea si antes en el registro estaba guardado como
[email protected], y me dice que cambie a
[email protected] no va a encontrar ese dato en la tabla y por lo tanto no va a haber actualizacion.
Las soluciones que se me ocurren son estas
Agregar un nuevo campo llamado cliente_alias y que sea la primera letra de su nombre apellido mas un numero, y actualizar en funcion a este alias porque es como un casillero que puede contener a cualqueir persona.
Consultar en funcion al dato antiguo y que me devuelva mediante select la id caulquiera que sea y actualizar en funcion a esa id que obtuve mediante select.
Guardar en una variable el dato previo antes de la actualización de correo electronico o numero de identificacion que son campos candidatos.
Es a eso lo que se refieren sergiorelativo y gnzsoloyo con crear un campo cliente_alias?? hay alguna otra forma posible de hacer este proceso sin depender de la id que es autoincrementable y no tengo acceso?? si debo basarme en correo electronico o numero de identificacion, como resuelvo cuando alguien quiera cambiar estos datos?? porque mi formulario no es distinto uno para agregar y otro para actualizar. sino son lo mismo con botones para agregar y actualizar.
Saludos y muchas gracias de antemoano