日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

MySQL-[Err] 1055 - Expression #1

發(fā)布時(shí)間:2025/1/21 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL-[Err] 1055 - Expression #1 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問題描述:MySQL數(shù)據(jù)庫下,執(zhí)行SQL插入語句報(bào)錯(cuò)。錯(cuò)誤信息如下:

錯(cuò)誤原因:MySQL5.7之后,sql_mode中默認(rèn)存在ONLY_FULL_GROUP_BYSQL語句未通過ONLY_FULL_GROUP_BY語義檢查所以報(bào)錯(cuò)。

ONLY_FULL_GROUP_BYONLY_FULL_GROUP_BY要求select語句中查詢出來的列必須是明確的(其他語句也是一樣)。

  以SQL語句select columes from table group by list為例:columns必須是聚集函數(shù)或者在group by后的表達(dá)式list中,并且list中必須包含主鍵,否則也會報(bào)錯(cuò)。

    insertupdatedelete語句都會報(bào)錯(cuò)(但不影響SQL語句的執(zhí)行),因?yàn)檫@三種語句執(zhí)行之前也會執(zhí)行查詢操作。

  以主鍵為id的表為例:

  SELECT count(1) FROM customer GROUP BY `name`;SQL執(zhí)行成功,因?yàn)?/span>count是聚集函數(shù);

  SELECT * FROM customer GROUP BY `name`;SQL執(zhí)行失敗,因?yàn)?/span>*中包含主鍵id,而group by后的表達(dá)式中并沒有包含id

  SELECT name FROM customer GROUP BY `name`;SQL執(zhí)行成功,因?yàn)?/span>name包含在group by后的表達(dá)式中

  SELECT name, contact FROM customer GROUP BY `name`;SQL執(zhí)行失敗,因?yàn)?/span>contact沒有包含在group by后的表達(dá)式中

? ?

解決方案:

  一、永久解決

    1)在MySQL下執(zhí)行SELECT @@sql_mode語句

     2)將查詢結(jié)果中的ONLY_FULL_GROUP_BY去掉然后復(fù)制,打開MySQL的配置文件,將sql_mode的值設(shè)置為復(fù)制的值

        (若沒有sql_mode[mysqld]下方添加一行即可)。

      MySQL配置文件所在位置:安裝版可通過windows服務(wù)所對應(yīng)mysql啟動項(xiàng),查看其對應(yīng)屬性->可執(zhí)行文件路徑,獲取my.ini路徑。

                  ?免安裝版一般在其根目錄下。(默認(rèn)是my-default.ini,必須將名字改為my.ini才能生效)

    3)重新MySQL服務(wù)即可生效

  二、只在當(dāng)前會話中解決,重新進(jìn)入MySQL后失效

    1)在MySQL下執(zhí)行SELECT @@sql_mode語句

    2)將查詢結(jié)果中的ONLY_FULL_GROUP_BY去掉然后復(fù)制,然后執(zhí)行set sql_mode = '修改后的值'

  三、只在當(dāng)前服務(wù)中解決,重新MySQL服務(wù)后失效

    1)解決方式同方法二,只是在selectset時(shí)添加global關(guān)鍵字。具體可查看下圖

總結(jié)

以上是生活随笔為你收集整理的MySQL-[Err] 1055 - Expression #1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。