newPoints te donne les points à l'instant de la query, donc ce n'est pas la donnée à mettre à jour (même s'il se peut que MySQL sache "rétro-pédaler" et convertir ce UPDATE en un UPDATE de la table sous-jascente, mais je ne parierai pas trop dessus, surtout que la date n'a pas été mise à jour elle).
D'ailleurs, la mise à jour du datePoints pourrait peut-être même se faire en TRIGGER (à voir). Dans l'idée, le TRIGGER se déclanche quand le champ "pointsADateT" est mise à jour, et ce trigger va mettre la date courante (NOW()) dans le champ "dateT".
Voilà le détail du système dans un article dédié
UPDATE `joueur` SET `oldPoints`=`newPoints` - 1, `datePoints`=NOW() WHERE joueur.id =1
C'est là où je doute de la dénomination "oldPoints" (mieux vaudrait dire "pointsADateT" et remplacer datePoints par "dateT")D'ailleurs, la mise à jour du datePoints pourrait peut-être même se faire en TRIGGER (à voir). Dans l'idée, le TRIGGER se déclanche quand le champ "pointsADateT" est mise à jour, et ce trigger va mettre la date courante (NOW()) dans le champ "dateT".
Voilà le détail du système dans un article dédié