您好,登錄后才能下訂單哦!
這篇文章主要介紹“mysql的Incorrect datetime value報(bào)錯(cuò)問題怎么解決”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“mysql的Incorrect datetime value報(bào)錯(cuò)問題怎么解決”文章能幫助大家解決問題。
出現(xiàn)原因:
這個(gè)錯(cuò)誤發(fā)生在mysql 5.7 版本及以上版本會(huì)出現(xiàn)的問題:
mysql 5.7版本默認(rèn)的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",這個(gè)配置嚴(yán)格執(zhí)行了"SQL92標(biāo)準(zhǔn)"。
很多從5.6升級(jí)到5.7時(shí),為了語法兼容,大部分都會(huì)選擇調(diào)整sql_mode,使其保持跟5.6一致,為了盡量兼容程序。
sql 層面
在sql執(zhí)行時(shí),出現(xiàn)該原因:
簡單來說就是:
輸出的結(jié)果是叫target list,就是select后面跟著的字段,還有一個(gè)地方group by column,就是
group by后面跟著的字段。由于開啟了ONLY_FULL_GROUP_BY的設(shè)置,所以如果一個(gè)字段沒有在target list
和group by字段中同時(shí)出現(xiàn),或者是聚合函數(shù)的值的話,那么這條sql查詢是被mysql認(rèn)為非法的,會(huì)報(bào)錯(cuò)誤。
解決辦法
修改mysql.ini文件
在[mysqld]配置下面添加
sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
重啟mysql
關(guān)于“mysql的Incorrect datetime value報(bào)錯(cuò)問題怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。