Ver Mensaje Individual
  #11 (permalink)  
Antiguo 10/06/2016, 11:04
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: On duplicate key update

Cita:
Iniciado por MrEnfurecido Ver Mensaje
Si probe, esto:

$sql = "INSERT INTO users (token,email) VALUES ('$token','$email')"
." ON DUPLICATE KEY UPDATE token = '$token' and email ='$email';"

Me sobreescribia el token(bien), pero el email seguia siendo el antiguo. De todas formas hasta el lunes no puedo seguir indagando...
La verdad es que ni siquiera lo estás razonando...

Si tienes la tabla definida de esta forma:
Código MySQL:
Ver original
  1. CREATE TABLE users (
  2. Token varchar(200) NOT NULL,
  3. Email varchar(200) NOT NULL,
  4. UNIQUE KEY (Token, Email)
  5. );
Y haces esto:
Código MySQL:
Ver original
  1. INSERT INTO users (token,email) VALUES ('$token','$email')
es absolutamente imposible que exista una duplicación de clave, porque la PK es el campo declarado como AUTO_INCREMENT, y es el único valor tomado como KEY, con lo que SIEMPRE será un valor diferente...

¿Se entiende?

Haznos el favor de borrar la tabla y crearla según te indico. Luego, vuelve a probar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)