MySQLtimestamp的一個坑
前段時間用資料庫,發現mysql裡面的timestamp資料總是自動更新,但是自己設定的時候並沒有設成 on update有啥操作。
網上看到如下一段,謹記。
在CREATE TABLE語句中,第1個TIMESTAMP列可以用下面的任何一種方式宣告:
1: 如果定義時DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句都有,列值為預設使用當前的時間戳,並且自動更新。
2: 如果不使用DEFAULT或ON UPDATE子句,那麼它等同於DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。
3: 如果只有DEFAULT CURRENT_TIMESTAMP子句,而沒有ON UPDATE子句,列值預設為當前時間戳但不自動更新。
4: 如果沒用DEFAULT子句,但有ON UPDATE CURRENT_TIMESTAMP子句,列預設為0並自動更新。
5: 如果有一個常量值DEFAULT,該列會有一個預設值,而且不會自動初始化為當前時間戳。如果該列還有一個ON UPDATE CURRENT_TIMESTAMP子句,這個時間戳會自動更新,否則該列有一個預設的常量但不會自動更新。
經他人提醒,Mysql5.6.6版本里面增加了一個引數 explicit_defaults_for_timestamp,其預設值為False,就是它搞得鬼。它會讓表定義非所見即所得,存在極大隱患,所以,這個引數需要設定成為 True
相關文章
- 一個蘿蔔一個坑
- 分享一個composer的坑
- Golang Recover的一個小坑Golang
- 小程式canvas的一個坑Canvas
- PHP Composer 的一個小坑PHP
- Array.prototype.splice 的一個坑
- python第一個坑Python
- 學習openresty時,nginx的一個坑RESTNginx
- 建立 UIWindow 被忽視的一個坑UI
- Redis 修改過期 key 的一個坑Redis
- 使用 NSUserDefaults 儲存字典的一個坑
- MVC Json方法裡的一個坑MVCJSON
- 一個Flex 對話方塊的坑Flex
- go select case的一個小坑Go
- 8種最坑的SQL錯誤用法,第一個就很坑?SQL
- 踩了 Golang sync.Map 的一個坑Golang
- 踩一個Flutter Hot Reload的新坑Flutter
- 向大家分享一個shell指令碼的坑指令碼
- WinUI 剪裁釋出中的一個小坑UI
- 關於ThreadLocal變數的一個坑thread變數
- 【Linux】一個坑比的crontab問題Linux
- PHP5.3中in_array()的一個坑PHP
- 記一個TS 列舉順序的坑
- 一個android 的HAL示例中遇到的坑。Android
- 初見React,一步一個坑React
- 啊哈C——學習6.5一個蘿蔔一個坑
- iOS layoutMargins 的坑:一個活久見的 bugiOS
- 記一個 Docker 映象無法執行的坑Docker
- 關於performSelector:afterDelay:的一個坑及思考performSelector
- 分享一個 SpringCloud Feign 中所埋藏的坑SpringGCCloud
- C++基礎(十二)一個巨集使用的坑C++
- linux安裝nginx時遇到的一個坑LinuxNginx
- 記HTML5 <a> 標籤的一個小坑HTML
- intervention/image 中的一個小坑及其破解之法
- CodeIgniter中使用CSRF TOKEN的一個坑
- 舒服了,學習了,踩到一個 Lombok 的坑!Lombok
- 今天踩了一個基礎坑
- Tomcat應用部署是否要一個蘿蔔一個坑?Tomcat