Voy a seguir adelante y publicar mi código de MySQL miedo:actualización de MySQL si el valor es mayor que el valor actual
INSERT INTO monthlystats (id, server, time, uptime, players, rank)
VALUES (09126, 6, 0912, 302, 0, 1)
ON DUPLICATE KEY UPDATE uptime = if(302 > uptime, 302, uptime), if(0 > players, 0, players), if(1 > rank, 1, rank)
Ok, así que vamos a explicar lo que estoy tratando de hacer.
- "id" tiene un índice único. Si ese índice aún no existe, quiero insertar esos valores.
- Si hay una clave duplicada, en su lugar, deseo ACTUALIZAR cada uno de los 3 campos, solo SI los nuevos valores son mayores que los que están actualmente en la tabla.
Parece que estoy haciendo algo terriblemente malo, y francamente no tengo idea de qué hacer. Traté de hacerlo bien, pero resultó ser un desastre horrible.
Espero que alguien pueda llevarme en la dirección correcta, y me ayude a aprender (y a cualquier otra persona que esté tratando de aprender) a hacer cosas como esta. Gracias.
Así que lo hiciste bien para 'uptime', lo repiten para' players' y 'rank' y debería funcionar – zerkms
Vaya. un momento. Veo de lo que estás hablando, pero no creo que ese sea el problema real. Editar: ¡Dios mío, ese era el problema! Adelante y haz una respuesta. – fruitcup
y cuál es el problema real? No veo ninguno en la pregunta – zerkms