Maison > Questions et réponses > le corps du texte
last_dt est la date à laquelle les données ont été modifiées pour la dernière fois. Elle est gérée différemment des dates insérées. Les dates insérées sont gérées par create_dt.
Je souhaite uniquement modifier la valeur de la date de mise à jour lorsque d'autres colonnes, à l'exception de la colonne update_dt, changent.
Alors gpt m'a donné ça :
UPDATE your_table SET column1 = %s, column2 = %s, column3 = %s, update_date = IF( column1 <> %s OR column2 <> %s OR column3 <> %s, NOW(), update_date ) WHERE id = %s
Mais je pense que cette méthode est un peu étrange. En fait, je l'ai testé et j'ai trouvé une erreur. Il est également possible que j'aie mal écrit le code.
Y a-t-il une meilleure façon ? La réponse fournie par gpt est-elle correcte ? Je pense que de nombreux administrateurs de bases de données ont résolu le même problème. Je pose cette question parce que je ne trouve pas de réponse appropriée.
P粉6595182942023-09-17 11:25:31
Je pense que je dois utiliser ça
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,