溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql的Incorrect datetime value報(bào)錯(cuò)問題怎么解決

發(fā)布時(shí)間:2022-01-13 09:44:48 來源:億速云 閱讀:3298 作者:iii 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹“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)。

向AI問一下細(xì)節(jié)

免責(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)容。

AI