mysql報1292?Incorrect?datetime?value錯誤的解決方法
mysql插入、修改datetime類型的字段,報 Incorrect datetime value 的錯誤,sql語句如下:
UPDATE xxx set time='2023-02-28T09:30:01.579049+08:00' WHERE id=1
如果去掉 +08:00 就可以插入。
試了網(wǎng)上說的查看并修改時區(qū),都沒用,最后發(fā)現(xiàn)是 sql_mode導致的。
默認的sql_mode的值是
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
其中一個值是 STRICT_TRANS_TABLES ,這個選項會對日期時間類型的值進行嚴格的轉換和檢查,因此可能會導致日期時間值的解析和轉換出現(xiàn)錯誤。
具體來說,STRICT_TRANS_TABLES 選項會強制 MySQL 對日期時間類型的值進行檢查,確保其符合 MySQL 所定義的格式要求。如果日期時間字符串的格式不符合要求,MySQL 就會報 "Incorrect datetime value" 的錯誤。
在 /etc/my.cnf 中,顯式地將sql_mode中的STRICT_TRANS_TABLES這個值去掉,或者將sql_mode置為空,重啟mysql即可解決。
[mysqld] # 對,我沒打漏,等號右邊就是為空 sql_mode =
到此這篇關于mysql報1292 Incorrect datetime value錯誤的解決方法的文章就介紹到這了,更多相關mysql報錯1292 Incorrect datetime value內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Mysql 如何實現(xiàn)多張無關聯(lián)表查詢數(shù)據(jù)并分頁
這篇文章主要介紹了Mysql 實現(xiàn)多張無關聯(lián)表查詢數(shù)據(jù)并分頁的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06MySQL的雙寫緩沖區(qū)Doublewrite Buffer詳解
這篇文章主要介紹了MySQL的雙寫緩沖區(qū)Doublewrite Buffer詳解,InnoDB是MySQL中一種常用的事務性存儲引擎,它具有很多優(yōu)秀的特性,其中,Doublewrite Buffer是InnoDB的一個重要特性之一,本文將介紹Doublewrite Buffer的原理和應用,需要的朋友可以參考下2023-07-07