如何更新"last_dt"列的值,當使用"UPDATE"或"INSERT IGNORE INTO ~ ON DUPLICATE KEY UPDATE ~"語句時
P粉633075725
P粉633075725 2023-09-16 13:54:41

last_dt列是資料最後更改的日期。它與插入日期的管理方式不同。插入日期由create_dt管理。

我只想在除了update_dt列之外的其他列發生更改時,才更改更新日期的值。

所以gpt給了我這個:

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

但我認為這個方法有點奇怪。我實際測試過,發現有錯誤。也有可能是我程式碼寫錯了。

有沒有更好的方法? gpt提供的答案是正確的嗎?我認為很多資料庫管理員都解決過同樣的問題。我問這個問題是因為我找不到合適的答案。

P粉633075725
P粉633075725

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!