last_dt列是資料最後更改的日期。它與插入日期的管理方式不同。插入日期由create_dt管理。
我只想在除了update_dt列之外的其他列發(fā)生更改時(shí),才更改更新日期的值。
所以gpt給了我這個(gè):
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
但我認(rèn)為這個(gè)方法有點(diǎn)奇怪。我實(shí)際測(cè)試過,發(fā)現(xiàn)有錯(cuò)誤。也有可能是我程式碼寫錯(cuò)了。
有沒有更好的方法? gpt提供的答案是正確的嗎?我認(rèn)為很多資料庫(kù)管理員都解決過同樣的問題。我問這個(gè)問題是因?yàn)槲艺也坏胶线m的答案。
我認(rèn)為我必須使用這個(gè)
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,