Mysql中字段类型之时间戳大坑
????
一 、環境說明:
在目前項目中,有這樣的一張表,用來記錄會議的相關信息,例如:會議的內容、會議的參會人員、會議的地點、會議的狀態(會議是否已結束、會議是否被撤銷)、會議的開始時間以及該條信息的創建時間。 會議的開始時間和信息的創建時間的類型都設置為了timestamp,并且默認值是CURRENT_TIMESTAMP。 |
?
二、如何入坑的
目前有這樣的一個需求:用戶發起的會議可以手動的進行撤銷的操作,后臺的邏輯自然需要更新該條會議信息,到了這里問題就來了:我手動更新了該條信息之后,之前設置好的會議開始時間,居然變成了該條sql語句執行成功時的時間了,這樣就有點忒尷尬的。 |
?
三、坑中半死不活
在遇到了這個問題之后,然后就自然而然的檢查自己的代碼,看看自己執行sql的同時,是否把時間給更新了,發現了一下沒有,突然人就瞢逼了,what,還能出現這個情況,然后同事提醒了一下,是不是表中字段類型設置為了timestamp的緣故,查了下百度,真的是這個原因。 |
?
四、解決方案
由于自己在建立表的時候,將時間字段都設置為了時間戳timestamp,并且默認時間為CURRENT_TIMESTAMP,所以在執行更新語句的時間,該會議開始時間的字段也會進行更新,以保證時間是當前系統的時間。從而導致了會議時間突然變更的這個神馬情況。 |
?
自己在工作遇到了這種問題,在這里記錄下來,以便后期不要在采坑。
?
????????
轉載于:https://www.cnblogs.com/Prozhu/p/7112794.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Mysql中字段类型之时间戳大坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF(C#)与MATLAB混合编程
- 下一篇: 快学Scala习题解答—第十章 特质