記一次 Mysql 日期使用不當造成的 bug
眾所周知, MySQL 中有多處表示日期的資料型別:YEAR、TIME、DATE、DTAETIME、TIMESTAMP。當只記錄年資訊的時候,可以只使用 YEAR 型別。
每一個型別都有合法的取值範圍,當指定確定不合法的值時,系統將“零”值插入資料庫中。
下表中列出了 MySQL 中的日期與時間型別。
由於我在儲存 生日 欄位的時候,資料庫不恰當的選取了 timestamp 欄位,所以在我的生日欄位在小於 1980 的時候就會報錯:
java.sql.BatchUpdateException: Data truncation: Incorrect datetime value: '1968-02-14 00:00:00.0' for column 'birthday' at row 1
MySQL 中 生日欄位改為 DATE 型別就好了
相關文章
- 避免使用不當pthread_create函式造成記憶體洩露thread函式記憶體洩露
- 記一次Orika使用不當導致的記憶體溢位記憶體溢位
- MySQL 記一次 Bug發現過程MySql
- OGNL設計及使用不當造成的遠端程式碼執行漏洞
- 日常Bug排查-系統失去響應-Redis使用不當Redis
- Microsoft.Extensions.DependencyInjection中的Transient依賴注入關係,使用不當會造成記憶體洩漏ROS依賴注入記憶體
- 記一次鎖使用不當導致Dubbo執行緒阻塞問題執行緒
- 執行緒池運用不當的一次線上事故執行緒
- Executors使用不當引起的記憶體溢位記憶體溢位
- 解Bug之路-記一次對端機器當機後的tcp行為TCP
- 記錄一次排查log4cxx庫按照日期回滾,不建立新目錄的BUG
- Jquery對當前日期的操作(格式化當前日期)jQuery
- oracle interval日期函式的bug!Oracle函式
- 解Bug之路-記一次JVM堆外記憶體洩露Bug的查詢JVM記憶體洩露
- 記一次Lombok的Setter過載方法造成的事故及思考Lombok
- MySQL 獲得當前日期時間(以及時間的轉換)MySql
- 記錄一次預釋出環境的 Bug
- mysql中取系統當前時間,當前日期方便查詢判定的程式碼MySql
- 記一次百度使我饒彎路
- 記一次解決tomcat自動關閉的bugTomcat
- 記一次 Redis Cluster 當機引發的事故Redis
- 解Bug之路-記一次儲存故障的排查過程
- 記一次神奇的Mysql死鎖排查MySql
- SqlServer獲取當前日期SQLServer
- MYSQL connector 的 NullReferenceException bugMySqlNullException
- Mysql刷題筆記 12.18 查詢與之前(昨天的)日期相比溫度更高的所有日期的 IdMySql筆記
- Python獲取當前日期和日期差計算Python
- Redis使用不當導致應用卡死Redis
- 獲取當前時間往前的日期
- C#獲取當前日期的yyyyMMddC#
- 記一次 MySQL 主從搭建MySql
- 記一次我的 MySQL 調優經歷MySql
- mysql 字符集造成的效能問題MySql
- 解Bug之路-記一次線上請求偶爾變慢的排查
- MySQL 鎖bug?MySql
- MySQL(12)---紀錄一次left join一對多關係而引起的BUGMySql
- RedisTemplate使用不當引起服務耗時激增Redis
- 一次奇怪的的bug排查過程